Python-100-Days/Day66-70/67.NumPy的应用.md

2.7 KiB
Raw Blame History

NumPy的应用

Numpy是一个开源的Python科学计算库用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作对于同样的数值计算任务使用NumPy不仅代码要简洁的多而且NumPy的性能远远优于原生Python基本是1个到2个数量级的差距而且数据量越大NumPy的优势就越明显。

Numpy最为核心的数据类型是ndarray,使用ndarray可以处理一维、二维和多维数组该对象相当于是一个快速而灵活的大数据容器。NumPy底层代码使用C语言编写解决了GIL的限制ndarray在存储数据的时候数据与数据的地址都是连续的这样就给使得批量操作速度很快远远优于Python中的list;另一方面ndarray对象提供了更多的方法来处理数据尤其是和统计相关的方法这些方法也是Python原生的list没有的。

安装和导入NumPy

  1. 安装

    pip install numpy
    
  2. 导入

    import numpy as np
    

    说明如果已经启动了Notebook但尚未安装NumPy可以在单元格中输入!pip install numpy 并运行该单元格来安装NumPy安装成功后记得重启Notebook内核来使新安装的库生效。

创建数组对象

  1. 一维数组
    • 方法一使用array函数通过list创建数组对象
    • 方法二使用arange函数指定取值范围创建数组对象
    • 方法三使用linspace函数用指定范围均匀间隔的数字创建数组对象
    • 方法四使用numpy.random模块的函数生成随机数创建数组对象
  2. 二维数组
    • 方法一使用array函数通过嵌套的list创建数组对象
    • 方法二使用zeros、ones、full函数指定数组的形状创建数组对象
    • 方法三使用eye函数创建单位矩阵
    • 方法四通过reshape将一维数组变成二维数组
    • 方法五通过numpy.random模块的函数生成随机数创建数组对象
  3. 多维数组:跟上面的情况相似,可以通过下面的例子进行了解。

数组对象的属性

  1. size属性数组元素个数
  2. itemsize属性数组单个元素占用内存空间的字节数
  3. shape属性数组的形状
  4. dtype属性数组元素的数据类型
  5. ndim属性数组的维度
  6. flat属性数组一维化之后元素的迭代器
  7. nbytes属性数组所有元素占用内存空间的字节数
  8. base属性数组的基对象如果数组共享了其他数组的内存空间

数组对象的方法

常用方法

统计方法

####其他方法

数组的运算

标量运算

矢量运算

广播机制

矩阵运算