美文网首页
科学计算基础库NumPy

科学计算基础库NumPy

作者: 训儿哥 | 来源:发表于2018-04-30 21:33 被阅读0次

    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:沿水平方向


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

    相关文章

      网友评论

          本文标题:科学计算基础库NumPy

          本文链接:https://www.haomeiwen.com/subject/rqltrftx.html