科学计算基础库NumPy

NumPy 是numerical python的缩写,提供了数组容器以及很多内置的函数,下面从两个方面对这个库加以记忆和掌握。
ndarray对象
numpy的核心是一个对象ndarray。ndarray以C数组的方式存储,计算的时候底层使用C语言实现,所以速度非常快

  1. 对象的入口构造函数:
  • np.array(object, dtype=None,ndim=0)
    object可以是任何暴露数组接口的对象
    dtype指定数据类型
    ndim限制最小的维度,不等于实际的维度
  • np.zeros( shape )
  • np.ones( shape )
  1. 对象的属性:
    shape 返回一个包含数组维度的元组
    ndim 返回数组的维度
    a.T 转置矩阵
    flat 压平状态下的迭代器,实际并没有压平
  2. 对象的方法:
    b = a.reshape( shape ) 调整数组的shape
    b = a.flatten( ) 讲多维数组转换成一维数组
numpy库层次的函数:
  1. 生成等间隔数据
    np.arange(start, stop, step, dtype) 用step制定步长
    np.linspace(start, stop, num, dtype) 用num制定总的生成多少个数据,默认是50个
  2. 生成随机数
    (都放在np.random模块中)
    seed( ) 确定随机数生成器的种子
    rand( size) 产生[0,1]的浮点随机数
    randn(size) 标准正太分布(均值为0,标准差为1)
    randint(start, end, size) 产生指定范围的随机整数
    normal(均值,标准层,size) 高斯分布
    uniform(start, end, size ) 均匀分布
  3. 数组拼接
    np.concatenate( (a, b), axis=0) 要指定轴,也可以用下面两种方式
    np.hstack( (a,b) ) 水平拼接
    np.vstack( (a,b) ) 垂直拼接
  4. 线性代数
    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:沿水平方向

科学计算基础库NumPy
文章图片

在使用统计函数的时候要指定axis,如果不指定会当成一维的处理
如a.max(axis=0)和a.max(axis=1)以及a.max()的结果都是不同的 【科学计算基础库NumPy】

    推荐阅读