我有一个形状为(3, 5)
的矩阵A [实际上更大]
假设此问题,以下是A(括号是索引)
(0) (1) (2) (3) (4)
(0) 10, 20, 30, 40, 50
(1) 90, 80, 70, 60, 50
(2) 40, 70, 10, 70, 10
我希望每一行都知道它的排序索引,这意味着,如果我访问了索引中的A,我将得到一个排序行矩阵。因此,对于上面的示例,我想要以下输出(不关心重复项):
(0) (1) (2) (3) (4)
(0) 0, 1, 2, 3, 4
(1) 4, 3, 2, 1, 0
(2) 2, 4, 0, 1, 3
我尝试过
sorted_inds = np.argsort(A, axis=0)
B = A[sorted_inds]
但这会输出一个3维的矩阵,我不太了解。
我应该怎么做?
奖金:
我不想对每一行进行排序,而是只获取最小的k个索引。
我了解我应该使用np.argpartition(A, k, axis=0)[:, :k]
但是遇到了同样的问题。
谢谢