67.NumPy的应用.md 2.0 KB

NumPy的应用

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

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

创建数组对象

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

数组对象基本属性

  1. size属性:元素个数
  2. shape属性:数组的形状
  3. dtype属性:元素的数据类型
  4. ndim属性:数组的维度

数组对象常用方法

数组的运算

  1. 标量运算
  2. 矢量运算

数组的其他操作

矩阵运算