前言
NumPy是用于数据科学计算的基础模块,不但能够完成科学计算的任务,而且能够被用作高效的多维数据容器,可以用于存储和处理大型矩阵。
以下所有示例仅包含部分函数,更多查看官方文档。
1. 数组对象 ndarray
NumPy提供了两种基本对象:ndarray 和 ufunc。其余的对象都是以这两种对象为基础(如矩阵)。
-
创建数组
重设shpae属性:
使用 arange 函数创建数组:
使用 linespace 函数创建数组:
包括但不限于: -
数据类型
数据类型转换:
使用自定义数据类型创建数组: -
生成随机数
其他随机函数: -
访问数组元素
一维数组:
二维数组: -
改变数组形状
展平数组:
组合数组:
数组分割:
2. NumPy 矩阵和通用函数
-
创建矩阵
矩阵的运算与线性代数中的运算相同:
矩阵特有属性:
-
ufunc 函数
数组的四则运算:
数组的比较运算:
数组的逻辑运算:
-
ufunc 函数的广播机制
广播机制是指不同形状的数组之间执行算术运算的方式。
当使用ufunc函数进行数组计算时,前提是两个数组的 shape 一致,如果不一致,那就会实行广播机制。
一维数组:
二维数组:
从上述两个示例来看:
- 一维数组的广播机制就是纵向的复制第一行的数据。
- 二维的广播机制就是横向的复制第一列的数据。
3. 利用NumPy进行统计分析
-
读写文件
二进制文件,写:
二进制文件,读:
还支持多个数组同时保存:
np.savez("./savez_attr", arr1, arr2)
文本文件,写:
文本文件,读:
上述读、写函数,还支持指定分隔符、保存数据类型等参数。
-
排序
-
去重与重复数据
-
常用的统计函数
其他统计函数如:std、var等用法相同。
累计求和、累计积: