python-numpy

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

可直接复制到笔记软件中使用,内容已去除代码和表格格式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值