Numpy 库
可以直接通过pip安装。
pip install numpy
1 NumPy的数值类型
每一种数据类型都有相应的转换函数。使用dtype
属性可以查看数组的数据类型。如下。
2 数组操作
使用arange()
函数可以来生成数组。
2.1 元素索引
如果数组是一维的,直接跟list一样索引就好。
如果数组是多维的,就使用跟线性代数里一样的行,列索引。如下。
2.2 一维数组切片
一维数组的切片,跟list的一样。
2.3 处理数组形状
- 拆解
用ravel()
函数可以把多维数组变成一维数组。
- 拉直(Flatten)
flatten()
函数与ravel()
相同。不同的是,flatten()
返回的是真实的数组,需要分配新的内存空间。
- 用元组指定数组形状
除reshape()
函数外,还可以用元组来定义数组的形状。
- 转置
就是线性代数里的意思,行列互换。使用transpose()
函数实现。
- 调整大小
函数resize()
的作用类似于reshape()
,但是会改变所作用的数组。
2.3.1 堆叠数组
- 水平叠加
使用hstack()
函数来码放这些数组。
使用concatenate()
函数也能达到同样的效果,但是记得参数axis
要设为1。
- 垂直叠加
同样的,使用vstack()
函数或使用concatenate()
函数,此时参数axis
设为0。
- 深度叠加
使用dstack()
函数,可以沿着第三个坐标轴的方向来叠加一摞数组,增加一个维度。简单理解,就是在一幅图像上叠加了另一幅图像。下面的代码就得到了一个三维数组。
- 列式堆叠
使用column_stack()
函数可以以列的方式对一维数组进行堆叠。
用这个函数来堆叠二维数组时,其实就相当于hstack()
函数。
- 行式堆叠
函数是row_stack()
,和column_stack()
一样的用法。
2.3.2 拆分数组
3 数组的属性
使用shape
属性可以查看数组的形状。
使用ndim
属性可以查看数组的维度数。
使用size
属性可以查看数组的元素数量。
使用itemsize
属性可以查看数组中各个元素所占用的字节数。
使用nbytes
属性可以查看整个数组所需的字节数量。
使用T
属性可以实现与函数transpose()
相同的功能,对数组进行转置。
【参考】
[1]Numpy中文文档