NumPy的应用
Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组。Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用NumPy比直接使用Python不仅代码要简洁的多,而且NumPy在性能上远远优于原生Python,基本是1到2个数量级的差距,数据量越大,NumPy的优势就越明显。
Numpy最为核心的数据类型是ndarray,使用ndarray可以处理一维、二维和多维数组,该对象相当于是一个快速而灵活的大数据容器。NumPy底层代码使用C语言编写,解决了GIL的限制,ndarray在存储数据的时候,数据与数据的地址都是连续的,这样就给使得批量操作数组元素时速度很快,远远优于Python中的list;另一方面ndarray对象提供了更多的方法来处理数据,尤其是和统计相关的方法,这些方法也是原生的list没有的。
创建数组对象
- 一维数组
- 方法一:使用array函数,通过list创建数组对象
- 方法二:使用arange函数,指定取值范围创建数组对象
- 方法三:使用linspace函数,用指定范围均匀间隔的数字创建数组对象
- 方法四:使用numpy.random模块的函数生成随机数创建数组对象
- 二维数组
- 方法一:使用array函数,通过嵌套的list创建数组对象
- 方法二:使用zeros、ones、full函数指定数组的形状创建数组对象
- 方法三:使用eye函数创建单位矩阵
- 方法四:通过reshape将一维数组变成二维数组
- 方法五:通过numpy.random模块的函数生成随机数创建数组对象
- 多维数组:跟上面的情况相似,可以通过下面的例子进行了解。
数组对象基本属性
- size属性:元素个数
- shape属性:数组的形状
- dtype属性:元素的数据类型
- ndim属性:数组的维度
数组对象常用方法
数组的运算
- 标量运算
- 矢量运算
数组的其他操作
矩阵运算