1.简介
Numpy是高性能科学计算和数据分析的基础包,也是pandas等其他数据分析的工具的基础。
NumPy为Python带来了多维数组功能,并且提供了丰富的函数库处理这些数组,且支持向量化运算,使得这些数学函数能够直接对数组进行操作。将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。
安装方法:pip install numpy
2、ndarray -多维数组对象
Numpy的核心特征就是N-维数组对 -ndarray。先通过具体的实例来展示一下ndarray的优势。
多维数组列表
3.常用属性
T | 数组的转置(对高维数组而言) | |
dtype | 数组元素的数据类型 | |
size | 数组元素的个数 | |
ndim | 数组的维数 | |
shape | 数组的维度大小(以元组形式) |
4.数据类型
布尔型 | bool_ | |
整型 | int_ int8 int16 int32 int 64 | |
无符号整型 | uint8 uint16 uint32 uint64 | |
浮点型 | float_ float16 float32 float64 | |
复数型 | complex_ complex64 complex128 |
注意:1)无符号整型只能用来存正数,不能用来存负数。
2)bool_,int_,float_之所以加下划线,是为了和python原生数据类型做区别。
3) astype()方法可以修改数组的数据类型。
6、ndarray-创建
array() | 将列表转换为数组,可选择显式指定dtype | |
arange() | range的numpy版,支持浮点数 | |
linspace() | 类似arange(),第三个参数为数组长度 | |
zeros() | 根据指定形状和dtype创建全0数组 | |
ones() | 根据指定形状和dtype创建全1数组 | |
empty() | 根据指定形状和dtype创建空数组(随机值) | |
eye() | 根据指定边长和dtype创建单位矩阵 |
>>> np.arange(1,9,2)
array([1, 3, 5, 7]) # 在1到9之间每隔2位取个值,顾头不顾尾。
-----------------------------------------------------------------
>>> np.linspace(2.0, 3.0, num=5)
array([ 2. , 2.25, 2.5 , 2.75, 3. ]) # 顾头也顾尾
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
array([ 2. , 2.2, 2.4, 2.6, 2.8])
-----------------------------------------------------------------
>>>np.zeros((3,4))
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]]) # 会用0生成三行四列的一个多维数组
------------------------------------------------------------------
>>>np.empty(10)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) # 这个方法只申请内存,不给它赋值
------------------------------------------------------------------
>>>np.eye(3)
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.])