由argsort结果的Numpy排序数组

时间:2018-08-24 12:38:15

标签: python numpy

我想对数组进行排序,并同时对索引和值进行排序。 这是一个很大的数组,所以我不想同时进行argsort和排序。

如何使用argsort的结果对数组进行排序。我尝试过:

import numpy as np
import pdb

A = np.random.rand(10,5)
indices = np.argsort(A,1)
B = A[indices]
print(B)

pdb.set_trace()

但是这里B的形状变成(10,5,5)。应该是(10,5)

答案是:

import numpy as np
import pdb

A = np.random.rand(10,5)

print(A)
print('\n\n')

indices = np.argsort(A,1)
B = A[np.arange(A.shape[0])[:,None],indices]
print(B)

pdb.set_trace()

0 个答案:

没有答案