Python数组运算包NumPy使用:核心数据对象——ndarray

Python数组运算包NumPy使用:核心数据对象——ndarray

NumPy介绍

NumPy是Python开源的科学计算工具包,提供多维数组运算,矩阵运算,为Python其他科学计算库提供底层支持(pandas是基于numpy开发出来的更高级的数据分析包)

NumPy库能够对全量数组进行复杂运算,不需要写Python遍历循环实现计算,本身使用C语言实现,所以其内存使用更少、计算性能更强,性能好于Pyhton

NumPy多应用:生产随机数、线性分布、傅里叶变换等样本数据!

Python数组运算包NumPy使用:核心数据对象——ndarray

NumPy 与 Python性能比较


Python数组运算包NumPy使用:核心数据对象——ndarray

输出:

  • NumPy用时: 25.9 ms
  • Python用时: 1.04 s

ndarray,多维数组对象

NumPy核心数据结构是多维数组

,即ndarray,所有数组操作都离不开ndarray

ndarray对象属性介绍:

  • .ndim 输出数组维度的个数(轴数)
  • .shape 数组的维度
  • .size 数组元素总数
  • .dtype 数组中元素的类型
  • .itemsize 数组中每个元素的字节大小
Python数组运算包NumPy使用:核心数据对象——ndarray

数组的维数称为秩,一维数组的秩为1,二维数组的秩为2

创建ndarray对象

0x01 np.array,创建多维数组

使用np.array方法创建数组,输入参数可以是任意序列(列表、元组、数组、生成器以及numpy数组等)

Python数组运算包NumPy使用:核心数据对象——ndarray

0x02 np.arange,创建一维数组

使用np.arange()方法构建N维组数

Python数组运算包NumPy使用:核心数据对象——ndarray

一般使用np.arange()方法,先创建一个一维值序列,再使用reshape方法变换高维数组形状

Python数组运算包NumPy使用:核心数据对象——ndarray

0x03 np.linspace,创建一维数组

使用linspace(start, stop, num=50,endpoint=True,retsep=False, dtype=None),返回在间隔【开始,结束】上计算的num个均匀间隔的数值样本

  • start:起始值,stop:结束值
  • num,生产样本数
  • endpoint,为True,包含,为False,不包含
  • retstep,为True,返回样本步长,即样本间隔长度,默认为False
Python数组运算包NumPy使用:核心数据对象——ndarray

0x04 np.zeros,生成全零数组

使用np.zeros方法生成全零数组,若创建高维数组,需要传入元组参数

Python数组运算包NumPy使用:核心数据对象——ndarray

0x05 np.zeros_like

np.zeros_like方法,根据所给定的ndarray对象生成对应的全零数组

Python数组运算包NumPy使用:核心数据对象——ndarray

0x06 np.ones,生成全一数组

使用np.ones方法,生成全一数组,若创建高维数组,需要传入元组参数

Python数组运算包NumPy使用:核心数据对象——ndarray

0x07 np.ones_like

np.ones_like方法,根据所给定的ndarray对象生成对应的全一数组

Python数组运算包NumPy使用:核心数据对象——ndarray

创建多维数组其他方法

  • np.empty 生成没有初始值的数组,若创建高维数组,需要传入元组参数
  • np.empty_like 根据所给定的ndarray对象生成没有初始值的数组
  • np.full 创建一个由常数填充的数组,第一个参数是数组,第二个参数是数组中填充的常数
  • np.full_like 同上
  • np.eye、np.identity生成NxN单位矩阵(左对角线是1,其他元素是0)

数组数据类型

ndarray对象中每个元素可以是以下任意数据类型:

Python数组运算包NumPy使用:核心数据对象——ndarray

说明:

  1. 可以在创建数组的时候,指定数据类型
  2. 可改变已有数组的数据类型,通过astype()方法,生成新的数组

示例代码:

Python数组运算包NumPy使用:核心数据对象——ndarray

最后

如果内容有误,欢迎评论区指正!

喜欢我的朋友们,麻烦点一波关注,谢谢!

Python数组运算包NumPy使用:核心数据对象——ndarray


分享到:


相關文章: