1、Numpy介绍
- 定义:
- Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组。
- Numpy中,存储对象是ndarray。
- 创建Numpy:
- numpy优势
- 内存块风格–一体式存储
- 支持并行化运算
- 效率高于纯python代码—底层使用了c,内部释放了GIL
2、N维数组
- ndarray的属性
- ndarray.shape:数组维度的元组
- ndarray.ndim:数组维度
- ndarray.size:数组中的元素数量
- ndarray.itemsize:一个数组元素的长度
- ndarray.dtype:数组元素的类型
- ndarray的形状
np.array()
三维数组不好理解—excel中有多个sheet - ndarray的类型
bool
int
float
str…
注意:如果不指定,正说默认为int64,小数默认为float64。
3、Numpy的基本操作
- 生成数组的方法
- 生成0和1数组
- np.ones()
- np.ones_like()
- 从现有数组中生成
- np.array—深拷贝
- np.asarray–浅拷贝
- 生成等间隔数组
- np.linspace(1,100,11) #从1到100,间隔是11;效果如下:
- np.arange(10,50,2) #从10到50,间隔是2;效果如下:
- np.logspace(1,3,1) #生成以10的N次幂的数据;效果如下:
- 生成随机数组
使用np.random
- 均匀分布
- np.random.rand(2,3) #随机生成两行三列的数组,效果如下:
- np.random.uniform(low=1,high=10,size=([3,5]))#下限是1,上限是10,生成三行五列;效果如下
- 正态分布
- 均值:图形的左右位置
- 方差:图像是瘦还是胖
值越小,图形越瘦高,数据越集中
值越大,图形越矮胖,数据越分散
- 正态分布创建方式
- np.random.randn(d0,d1,d2…)
- np.random.normal(loc=0.0,scale=1.0,size=None);loc代表比概率分布的均值;scale代表次概率分布的标准差;size表示输出的shape,默认为None,只输出一个值。
- np.random.standard_normal(size=None):返回指定形状的标准正态分布的数组
4、数组索引,切片
先对行进行索引,在进行列索引
高维数组索引,从宏观到微观
- 代码如下
5、形状修改
- 对象.reshape:不进行行列互换,产生新变量
- 对象.resize:进行行列互换,对原来的值进行修改
- 对象.T:进行行列互换
6、类型修改
- 对象.astype(np.int32)#括号里面是你要修改成的数据类型。例如:
- 对象.tostring()
7、数组的去重
8、ndarray运算
- 逻辑运算
- 通用判断函数
- np.all():满足所有的要求才返回true
- 三元运算符
- np.where()
- np.logic_and():并的意思
- np.logic_or:或的意思
- 统计运算
- min:求最小值
- max:求最大值
- midian:求中位数
- mean:均值
- std:标准差
- var:方差
- argmax:最大值下标
- argmin:最小值下标
9、矩阵乘法
- np.matmul():矩阵相乘,不支持矩阵与数字相乘
- np.dot():点乘,支持矩阵与数字相乘
两者在进行矩阵相乘的时候没有区别