2.7 KiB
2.7 KiB
NumPy的应用
Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用NumPy不仅代码要简洁的多,而且NumPy的性能远远优于原生Python,基本是1个到2个数量级的差距,而且数据量越大,NumPy的优势就越明显。
Numpy最为核心的数据类型是ndarray
,使用ndarray
可以处理一维、二维和多维数组,该对象相当于是一个快速而灵活的大数据容器。NumPy底层代码使用C语言编写,解决了GIL的限制,ndarray
在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作速度很快,远远优于Python中的list
;另一方面ndarray
对象提供了更多的方法来处理数据,尤其是和统计相关的方法,这些方法也是Python原生的list
没有的。
安装和导入NumPy
-
安装
pip install numpy
-
导入
import numpy as np
说明:如果已经启动了Notebook但尚未安装NumPy,可以在单元格中输入
!pip install numpy
并运行该单元格来安装NumPy,安装成功后记得重启Notebook内核来使新安装的库生效。
创建数组对象
- 一维数组
- 方法一:使用array函数,通过list创建数组对象
- 方法二:使用arange函数,指定取值范围创建数组对象
- 方法三:使用linspace函数,用指定范围均匀间隔的数字创建数组对象
- 方法四:使用numpy.random模块的函数生成随机数创建数组对象
- 二维数组
- 方法一:使用array函数,通过嵌套的list创建数组对象
- 方法二:使用zeros、ones、full函数指定数组的形状创建数组对象
- 方法三:使用eye函数创建单位矩阵
- 方法四:通过reshape将一维数组变成二维数组
- 方法五:通过numpy.random模块的函数生成随机数创建数组对象
- 多维数组:跟上面的情况相似,可以通过下面的例子进行了解。
数组对象的属性
- size属性:数组元素个数
- itemsize属性:数组单个元素占用内存空间的字节数
- shape属性:数组的形状
- dtype属性:数组元素的数据类型
- ndim属性:数组的维度
- flat属性:数组(一维化之后)元素的迭代器
- nbytes属性:数组所有元素占用内存空间的字节数
- base属性:数组的基对象(如果数组共享了其他数组的内存空间)
数组对象的方法
常用方法
统计方法
####其他方法