将一个矩阵中的某几列按从大到小的顺序排序
时间: 2024-05-09 22:19:14 浏览: 34
假设要将矩阵A的第2列和第4列按从大到小的顺序排序。可以使用numpy中的argsort函数,先按第2列排序,然后按第4列排序。
```
import numpy as np
A = np.array([[1, 6, 3, 2],
[4, 2, 9, 8],
[7, 5, 1, 0]])
indices_2 = np.argsort(A[:, 1])[::-1] # 按第2列降序排序
indices_4 = np.argsort(A[:, 3])[::-1] # 按第4列降序排序
A_sorted = A[:, [indices_2, indices_4]]
```
其中,np.argsort函数返回的是排序后的元素在原数组中的下标,[::-1]表示倒序排列。最后使用切片操作A[:, [indices_2, indices_4]]将排序后的第2列和第4列拼成一个新的矩阵。