numpy

Posted fangyingdong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy相关的知识,希望对你有一定的参考价值。

numpy

  1. 两种基本对象

    NumPy提供了两种基本的对象:ndarray(N-dimensional Array Object)和ufunc(Universal Function Object)。ndarray(下文统一称为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。

  2. 数组的属性及说明

    技术图片

  3. 数组的创建
    • NumPy提供的array函数可以创建一维或多维数组,基本使用语法如下
      • numpy.array(object, dtype=None, copy=True, order=‘K‘, subok=False, ndmin=0)

    技术图片

    • np.arange(start, end,step)
      • arange 函数类似于 Python 自带的函数 range,通过指定开始值、终值和步长来创建一维数组,创建的数组不含终值
    • np.linspace(start, end, step)
      • 类似于arange, 但是其包含终值,在指定的间隔内返回均匀间隔的数字。
    • np.logspace(start,end,step)
      • logspace函数和linspace函数类似,它创建的是等比数列。
      • 例如: 生成1(100)~100(102)的20个元素的等比数列
        • np.logspace(0,2,20)
    • np.zero生成全为0的数组
      • 技术图片
    • np.eye对角线上为1,其他全为0的数组
      • 技术图片
    • diag 函数创建类似对角的数组,即除对角线以外的其他元素都为 0,对角线上的元素可以是0或其他值,
      • 技术图片
    • ones函数用来创建元素全部为1的数组
      • 技术图片
    • 随机数组
      • random函数是最常见的生成随机数

        • 技术图片
      • rand函数可以生成服从均匀分布的随机数
        • 技术图片
      • randn函数可以生成服从正态分布的随机数
        • 技术图片
      • randint函数可以生成给定上下限范围的随机数
        • numpy.random.randint(low, high=None, size=None, dtype=‘l‘)
        • 其中,low为最小值,high为最大值,size为数组的shape
        • 技术图片
      • seed确定随机数种子,使其生成的随机数一致
  4. 数组的数据类型
    1. 在NumPy中,所有数组的数据类型是同质的,即数组中的所有元素类型必须是一致的。这样做的好处是,更容易确定该数组所需要的存储空间。

      技术图片

  5. 数组形态变化
    1. reshape函数改变数组的“形状”,也就是改变数组的维度。其参数为一个正整数元组,分别指定数组在每个维度上的大小。reshape函数在改变原始数据的形状的同时不改变原始数据的值。如果指定的维度和数组的元素数目不吻合,则函数将抛出异常
      • 技术图片
    2. ravel函数完成数组展平工作
      • 技术图片
    3. flatten函数也可以完成数组展平工作。与ravel函数的区别在于,flatten函数可以选择横向或纵向展平
      • 技术图片
  6. 数组的组合
    1. 横向组合hstack
      • 技术图片
    2. 纵向组合vstack
      • 技术图片
    3. concatenate函数也可以实现数组的横向组合和纵向组合,其中参数axis=1时按照横轴组合,参数axis = 0时按照纵轴组合
      • 技术图片
  7. 创建NumPy矩阵
    1. mat和matrix创建矩阵

      技术图片

    2. 矩阵组合函数bmat

      技术图片

      1. 矩阵的加减乘

        技术图片

        ? 技术图片

      2. 矩阵的一些属性

        技术图片

    3. numpy读写文件
      1. save和savez
        • np.save(file, arr, allow_pickle=True, fix_imports=True) 拓展名.npy
        • savez将多个数组保存在一个文件中,拓展名为.npz
        • 可省略拓展名
      2. 读load
        • 不可省略拓展名
    4. 排序

      1. sort 函数是最常用的排序方法,无返回值。如果目标函数是一个视图,则原始数据将会被修改

      2. 使用sort函数排序时可以指定一个axis参数,使得sort函数可以沿着指定轴对数据集进行排序

        技术图片

    5. 数据去重与重复
      1. 去重unique

        技术图片

      2. tile函数和repeat函数实现数据重复

        • numpy.tile(A, reps)
        • 参数“A”指定重复的数组,参数“reps”指定重复的次数
        • numpy.repeat(a, repeats, axis=None)
        • 参数“a”指定需要重复的数组元素,参数“repeats”指定重复次数,参数“axis”指定沿着哪个轴进行重复

以上是关于numpy的主要内容,如果未能解决你的问题,请参考以下文章

'numpy.ndarray':对象不可调用错误

乐哥学AI_Python:Numpy索引,切片,常用函数

对数据进行去均值并转换为 numpy 数组

Jax 矢量化:vmap 和/或 numpy.vectorize?

微信小程序代码片段

VSCode自定义代码片段——CSS选择器