作者:bug | 来源:互联网 | 2023-09-17 09:45
16_NumPy数组ndarray以任何顺序排列行和列
NumPy数组ndarray的行和列可以使用称为花哨索引的机制以任何顺序重新排列(替换)。
分别描述行和列的情况。
使用np.sort()或np.argsort()进行升序或降序排序(排序)。
详情请参阅以下文章
- 15_Numpy使用sort和argsort函数进行(行・列)排序
以下面的二维阵列为例。
import numpy as npa = np.arange(10, 35).reshape(5, 5)
print(a)
以任何顺序对列进行排序
可以通过以任何顺序引用索引列表来获得排序后的ndarray。
col_swap = a[:, [3, 2, 4, 0, 1]]
print(col_swap)
如果要反转,切片::-1比列表更容易。
col_inverse = a[:, ::-1]
print(col_inverse)
也可以仅提取(选择)特定的列。即使它们重叠也可以。
col_select = a[:, [2, 4, 0]]
print(col_select)
col_select2 = a[:, [2, 2, 2]]
print(col_select2)
以任何顺序对行进行排序
行与列相同。
向后的索引::可以省略([…,:]等效于[…])。
row_swap = a[[3, 2, 4, 0, 1], :]
print(row_swap)
row_swap = a[[3, 2, 4, 0, 1]]
print(row_swap)
row_inverse = a[::-1]
print(row_inverse)
row_select = a[[2, 4, 0]]
print(row_select)
row_select2 = a[[2, 2, 2]]
print(row_select2)