科学计算基础库NumPy
2018-04-30 本文已影响0人
训儿哥
NumPy 是numerical python的缩写,提供了数组容器以及很多内置的函数,下面从两个方面对这个库加以记忆和掌握。
ndarray对象
numpy的核心是一个对象ndarray。ndarray以C数组的方式存储,计算的时候底层使用C语言实现,所以速度非常快
- 对象的入口构造函数:
- np.array(object, dtype=None,ndim=0)
object可以是任何暴露数组接口的对象
dtype指定数据类型
ndim限制最小的维度,不等于实际的维度 - np.zeros( shape )
- np.ones( shape )
- 对象的属性:
shape 返回一个包含数组维度的元组
ndim 返回数组的维度
a.T 转置矩阵
flat 压平状态下的迭代器,实际并没有压平 - 对象的方法:
b = a.reshape( shape ) 调整数组的shape
b = a.flatten( ) 讲多维数组转换成一维数组
numpy库层次的函数:
- 生成等间隔数据
np.arange(start, stop, step, dtype) 用step制定步长
np.linspace(start, stop, num, dtype) 用num制定总的生成多少个数据,默认是50个 - 生成随机数
(都放在np.random模块中)
seed( ) 确定随机数生成器的种子
rand( size) 产生[0,1]的浮点随机数
randn(size) 标准正太分布(均值为0,标准差为1)
randint(start, end, size) 产生指定范围的随机整数
normal(均值,标准层,size) 高斯分布
uniform(start, end, size ) 均匀分布 - 数组拼接
np.concatenate( (a, b), axis=0) 要指定轴,也可以用下面两种方式
np.hstack( (a,b) ) 水平拼接
np.vstack( (a,b) ) 垂直拼接 - 线性代数
np.inner(a, b) 向量的内积
np.dot(a, b) 矩阵的点积 (另一种写法 a.dot(b) ,但a,b是一维向量时,等价于inner;当a, b是二维矩阵时,等价于matmul()。
np.matmul(a, b) 矩阵乘积
理解术语概念
数组的轴
参考网址:一篇文章掌握Numpy的基本用法
axis = 0:沿垂直方向
axis = 1:沿水平方向
在使用统计函数的时候要指定axis,如果不指定会当成一维的处理
如a.max(axis=0)和a.max(axis=1)以及a.max()的结果都是不同的