Numpy系列(一)array对象以及创建array的方法

  Numerical Python(Numpy)是一个开源的Python科学计算库,使用Numpy可以方便的使用数组、矩阵进行计算,包含线性代数、傅里叶变换、随机数生成等大量函数。

  与原生的Python实现相比,使用Numpy是直接以数组、矩阵为粒度计算,并且支持大量的数学函数,而Python需要用for循环从底层实现。并且Numpy的数组存储效率和输入输出计算性能,比Python使用List或者嵌套List好很多。

  Numpy的数据存储和Python原生的List是不一样的,Numpy的大部分代码都是C语言实现的,这也是Numpy代码更高效的原因。NumpyarrayPythonList的一个区别,Numpyarray的元素必须都是同一种数据类型,比如都是数字int类型,这也是Numpy高性能的一个原因。

创建数据

Numpy系列(一)array对象以及创建array的方法

array本身的属性

  • shape:返回一个元组,表示array的维度
  • ndim:一个数字,表示array的维度的数目
  • size:一个数字,表示array中所有数据元素的数目
  • dtype:array中元素的数据类型

Numpy系列(一)array对象以及创建array的方法

创建array的方法

从Python的列表List和嵌套列表创建array。

使用预定函数arange、ones/ones_like、zeros/zeros_like、empty/empty_like、full/full_like、eye等函数创建

  1. 使用arange创建数字序列

  语法arange(start, stop, step, dtype=None)

Numpy系列(一)array对象以及创建array的方法

  1. 使用ones创建全是1的数组

  语法np.ones(shape, dtype=None, order='C');shape : int or tuple of ints Shape of the new array, e.g., (2, 3) or 2.

Numpy系列(一)array对象以及创建array的方法

  1. 使用ones_like创建形状相同的数组

  语法ones_like(a, dtype=float, order='C')

Numpy系列(一)array对象以及创建array的方法

  1. 使用zeros创建全是0的数组

  语法np.zeros(shape, dtype=None, order='C')

Numpy系列(一)array对象以及创建array的方法

  1. 使用zeros_like创建形状相同的数组

  语法np.zeros_like(a, dtype=None)

Numpy系列(一)array对象以及创建array的方法

  1. 使用empty创建全是0的数组

  语法empty(shape, dtype=float, order='C');注意:数据是未初始化的,里面的值可能是随机值不要用:

Numpy系列(一)array对象以及创建array的方法

  1. 使用empty_like创建形状相同的数组

  语法empty_like(prototype, dtype=None)

Numpy系列(一)array对象以及创建array的方法

  1. 使用full创建指定值的数组

  语法np.full(shape, fill_value, dtype=None, order='C')

Numpy系列(一)array对象以及创建array的方法

  1. 使用full_like创建形状相同的数组

  语法np.full_like(a, fill_value, dtype=None)

Numpy系列(一)array对象以及创建array的方法

生成随机数的np.random模块构建

  1. 使用random模块生成随机数的数组

Numpy系列(一)array对象以及创建array的方法

array本身支持的大量操作和函数

  1. 直接逐元素的加减乘除等算数操作
  2. 更好用的面向多维的数组索引
  3. 求sum/mean等聚合函数
  4. 线性代数函数,比如求解逆矩阵、求解方程组

Numpy系列(一)array对象以及创建array的方法