NumPy - 数组操作
NumPy 包中提供了多种用于操作 ndarray 对象元素的例程。它们可分为以下类型:-
改变形状
在 NumPy 中,改变形状是指在不改变数据的情况下改变数组的形状 -
序号 | 形状 &说明 |
---|---|
1 |
reshape()
在不改变数组数据的情况下赋予数组新形状 |
2 |
flat()
数组上的一维迭代器 |
3 |
flatten()
返回折叠为一维的数组副本 |
4 |
ravel()
返回一个连续的扁平化数组 |
5 |
pad()
返回一个填充数组,其形状根据 pad_width 增加 |
转置操作
NumPy 转置操作可以交换二维数组中的行和列,或重新排列高维数组中的轴 -
序号 | 操作和说明 |
---|---|
1 |
transpose
置换数组的维度 |
2 |
ndarray.T
与 self.transpose() 相同 |
3 |
rollaxis
旋转指定轴向后 |
4 |
swapaxes
交换数组的两个轴 |
5 |
moveaxis()
将数组的轴移动到新位置 |
更改维度
在 NumPy 中更改数组的维度涉及重塑或重构数组以满足特定需求,而无需更改数据 -
序号 | 维度 &说明 |
---|---|
1 |
broadcast
生成一个模拟广播的对象 |
2 |
broadcast_to
将数组广播为新的形状 |
3 |
expand_dims
扩展数组的形状 |
4 |
squeeze
从数组形状中删除一维元素 |
连接数组
NumPy 中的连接数组沿指定轴连接多个数组 -
Sr.No. | 数组 &说明 |
---|---|
1 |
concatenate
沿现有轴连接一系列数组 |
2 |
stack
沿新轴连接一系列数组 |
3 |
hstack
按列水平顺序堆叠数组 |
4 |
vstack
按行方向垂直堆叠数组 |
5 |
dstack()
按深度方向(沿第三轴)堆叠数组。 |
6 |
column_stack()
按行方向垂直堆叠数组 |
7 |
row_stack()
按行顺序垂直堆叠数组 |
拆分数组
NumPy 中的拆分数组功能会将数组沿指定轴拆分为更小的数组 -
Sr.No. | 数组 &说明 |
---|---|
1 |
split
将数组拆分为多个子数组 |
2 |
hsplit
将数组水平(按列)拆分为多个子数组 |
3 |
vsplit
将数组垂直拆分为多个子数组(按行) |
4 |
dsplit()
沿第三轴(深度)将数组拆分为多个子数组 |
5 |
array_split
将数组拆分为多个子数组 |
添加/删除元素
在 NumPy 中添加或删除元素 - 将元素附加到数组或删除元素 -
序号 | 元素及说明 |
---|---|
1 |
resize
返回具有指定形状的新数组 |
2 |
append
将值追加到数组末尾 |
3 |
insert
沿给定轴在给定轴之前插入值索引 |
4 |
delete
返回一个新数组,其中沿某个轴删除了子数组 |
5 |
unique
查找数组中唯一元素 |
重复和平铺数组
在 Numpy 中,重复和平铺数组是通过以各种模式复制现有数组元素来创建更大数组的技术 -
重新排列元素
在 NumPy 中,可以使用各种方法重新排列数组的元素,以达到所需的顺序或结构。以下是常见的操作 -
Sr.No. | Array &说明 |
---|---|
1 |
flip()
沿给定轴反转数组中元素的顺序 |
2 |
fliplr()
沿轴 1(左/右)反转元素的顺序 |
3 |
flipud()
沿轴 0 反转元素的顺序(上/下) |
4 |
roll()
沿给定轴滚动数组元素 |
排序和搜索
NumPy 提供了强大的数组排序和搜索工具,可实现高效的数据操作和分析 -
序号 | 数组 &说明 |
---|---|
1 |
sort()
返回数组的排序副本 |
2 |
argsort()
返回对数组进行排序的索引 |
3 |
lexsort()
使用键序列执行间接稳定排序 |
4 |
searchsorted()
查找应插入元素以保持顺序的索引 |
5 |
argmax()
返回沿某一轴的最大值的索引 |
6 |
argmin()
返回沿某一轴的最小值的索引 |
7 |
nonzero()
返回非零元素的索引 |
8 |
where()
根据条件从 x 或 y 中返回所选元素 |
集合运算
NumPy 中的集合运算涉及对数组执行数学集合运算,例如并集、交集、差集以及检查唯一元素。这些运算对于处理和分析数据集中的不同值特别有用 -
序号 | 数组 &说明 |
---|---|
1 |
in1d()
测试一维数组的每个元素是否也存在于另一个数组中 |
2 |
intersect1d()
求两个数组的交集 |
3 |
setdiff1d()
求两个数组的差集,并返回 ar1 中唯一且相等的值不在 ar2 中 |
4 |
setxor1d()
对两个数组求异或集合,并返回已排序的唯一值,这些值仅存在于其中一个输入数组中(而非两个输入数组中) |
5 |
union1d()
对两个数组求并集,并返回已排序的唯一值,这些值存在于两个输入数组中的任意一个中。 |
其他数组操作
以下Numpy 中的 a=other arryas 操作是 -
序号 | 数组及说明 |
---|---|
1 |
clip()
限制数组中的值。 |
2 |
round()
按指定的小数位数进行四舍五入 |
3 |
diagonal()
返回指定的对角线 |
4 |
trace()
返回数组对角线元素的和 |
5 |
take()
沿数组的某个轴取出元素 |
6 |
put()
用给定值替换数组中的指定元素 |
7 |
choose()
根据索引数组和可供选择的数组列表构建一个数组 |