科学计算基础库NumPy

2018-04-30  本文已影响0人  训儿哥

NumPy 是numerical python的缩写,提供了数组容器以及很多内置的函数,下面从两个方面对这个库加以记忆和掌握。

ndarray对象

numpy的核心是一个对象ndarray。ndarray以C数组的方式存储,计算的时候底层使用C语言实现,所以速度非常快

  1. 对象的入口构造函数:
  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:沿水平方向


在使用统计函数的时候要指定axis,如果不指定会当成一维的处理
如a.max(axis=0)和a.max(axis=1)以及a.max()的结果都是不同的
上一篇下一篇

猜你喜欢

热点阅读