numpy概念:全称是“ Numeric Python”,它是 Python 的第三方扩展包,主要用来计算、处理一维或 多维数组,提供了大量的数学函数。
与Python列表不同的是NumPy 数组是同质数据类型,Python 列表是异质数据类型。
1. 数组创建
np.array(): 基础创建,可指定dtype
np.zeros(): 创建全0数组
np.ones(): 创建全1数组
np.full(): 创建填充指定值的数组
np.arange(): 创建等差序列(不含终点)
np.linspace(): 创建均匀间隔数组(含终点)
2. 数组操作
形状操作
reshape(): 返回新形状数组(不修改原数据)
resize(): 直接修改原数组形状(可填充/截断)
flatten(): 返回展开的一维数组副本
ravel(): 返回一维视图(修改会影响原数据)
维度操作
T/transpose(): 转置行列
expand_dims(): 增加维度
squeeze(): 去除长度为1的维度
3. 索引与切片
基本切片: arr[start:stop:step](返回视图),冒号用于表示一个范围。例如,array[1:3] 表示从索引 1 到索引 3(不包括 3)的元素。 省略号表示所有维度。
高级索引: arr[[0,2], [1,3]]返回0行1列,2行3列的值组成的列表(返回副本)
布尔索引: arr[arr > 3],可获取符合指定条件的元素的数组,布尔索引用&|,不用and,or(易错)
4. 数组运算
矩阵乘法: np.dot(a,b)
逐元素乘法: a * b
求行列式: np.linalg.det()
5. 分割与堆叠
hsplit(): 水平分割(按列)
vsplit(): 垂直分割(按行)
hstack(): 水平拼接(行数需相同)
vstack(): 垂直拼接(列数需相同)
### 6. 广播机制
规则:从右向左对齐维度,缺失或长度为1的维度自动扩展
示例:形状(2,1) + (2,) → 广播为(2,2)
7. 数据类型
常用类型: int32/float64/bool_/complex128
指定方式:
dtype=np.int16
arr.astype(np.float32)
8. 遍历数组
元素遍历: np.nditer(arr, order='F')
多维索引: flags=['multi_index']
### 易错提醒
1. reshape要求元素总数匹配,resize可自动填充
2. flatten返回副本,ravel返回视图
3. 布尔索引用&|,不用and/or
4. 广播失败会报ValueError
可直接复制到笔记软件中使用,内容已去除代码和表格格式。
711

被折叠的 条评论
为什么被折叠?



