NumPy
NumPy是什么?
NumPy(Numerical Python的缩写)是一个开源的Python科学计算模块,其中包含了许多实用的数学函数,用来处理数值型数据。
优点:
1. 很多更高级的扩展模块都依赖于NumPy,比如pandas
2. NumPy中有计算平均数、中位数等数学相关的内置函数,可以在代码中省去很多的循环语句,帮助我们更加快速和科学地进行计算
3. NumPy提供了一个叫做N维数组的数据结构,它和Python中的列表list类似,但前者的输入输出性能远优于后者
学习目标1
要想深入了解NumPy,我们就必须先从它的核心 —— N维数组(ndarray)开始学习。
同时NumPy中,N维数组(ndarray)作为最重要和使用最频繁的对象。
接下来,我们将分别学习以下几个方面:
1. N维数组的基本概念和常用属性
2.创建一个N维数组
3. N维数组的运算
N维数组 |
定义 顾名思义,N维数组(ndarray)是一个多维数组,描述了相同类型数据的集合。 隐喻 如图所示,各个科目的分数形成了一个4x3的二维数组,该数组就是一个同一数据类型 —— 分数(整型int)的集合。 |
有很多属性可以描述N维数组,最常用的两个属性分别是数据类型和维度。 |
NumPy数组的 数据类型 指的是数组中存储的元素类型,可以是:整型(int)、浮点型(float)、布尔型(bool)等。 | 需要注意的是,NumPy数组中的所有元素类型必须是一致的。 |
Ps:
一维空间相当于一根直线。在这样的空间里,只能前进或者后退,所以只有长度的概念。
二维空间其实就是一个平面。在这个平面上,除了前进、后退以外,还可以向左或者向右,所以有长度和宽度的概念。
三维空间就像是一个立方体。在这个空间里,除了前进、后退、向左和向右移动外,还可以向上或者向下,所以有长度、宽度和高度的概念。
NumPy数组的维度和我们平常说的维度非常相似,接触最多的通常是一维(1D)和二维(2D)数组,可以通过中括号[ ]的层数来确定。 |
[...]表示一维数组,和Python中的列表长得很像。 |
[[...]]表示二维数组。 列数代表一维数组中元素的数量。 |
以此类推,[[[...]]]表示三维数组,三维数组中的每个元素都是一个二维数组;[[[[...]]]]表示四维数组,四维数组中的每个元素都是一个三维数组...
Like:
有很多属性可以描述N维数组,最常用的两个属性分别是数据类型和维度。
在了解完N维数组的概念和常用属性后,我们来学习如何创建N维数组。在使用NumPy创建N维数组前,我们需要先安装numpy。
导入与安装numpy
安装完后,下一步就是导入numpy。 | # 使用import导入numpy,并使用"np"作为该模块的简写 import numpy as np |
在终端输入pip install numpy安装模块。
在代码中使用import numpy as np导入模块。
如图所示:
创建n维数组
在导入numpy后,我们就可以开始创建N维数组啦~
创建N维数组的方式有很多,最简单的一种方式就是调用NumPy模块中的array()
函数。
任意序列型对象,也就是列表、元组、数组等数据结构,都可以作为参数传入。 |
创建N维数组 np.array() 这三行代码创建了一个叫做“arr”的一维数组,并输出了该数组。 | 第三行输出了该数组,也就是[1 2 3 4 5]。 |
函数np.array() np.array()是NumPy中用来创建N维数组的函数。 |
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) |
[1 2 3 4 5] |
一个列表 作为参数传入np.array()函数中,该函数将返回一个对应的数组。 任意序列型对象,也就是列表、元组、数组等数据结构,都可以作为参数传入。 |
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) |
[1 2 3 4 5] |
变量名 函数返回的一维数组赋值给了变量arr。 |
[1 2 3 4 5] |
再加一个例子:
在学习了N维数组的概念、常用属性以及如何创建一个N维数组后,我们来继续学习N维数组的计算。