我有一个 2D np.array:
array([[ 1523., 172., 1613.],
[ 3216., 117., 1999.],
[ 85., 1271., 4.]])
我想按值提取此 np.array 的排序索引。
结果应该是(例如):
[[2,2],[2,0],[1,1],[0,1],[2,1],[0,0],[0,2],[1,2 ],[1,0]]
我已经看到如何提取最小值:
np.unravel_index(np.argmin(act),act.shape) #(2,2)
谢谢
最佳答案
使用numpy.argsort
使用 axis=None
(假设展平数组):
>>> import numpy as np
>>>
>>> act = np.array([[ 1523., 172., 1613.],
... [ 3216., 117., 1999.],
... [ 85., 1271., 4.]])
>>> n = act.shape[1]
>>> zip(*np.argsort(act, axis=None).__divmod__(n))
[(2, 2), (2, 0), (1, 1), (0, 1), (2, 1), (0, 0), (0, 2), (1, 2), (1, 0)]
关于python - 获取已排序矩阵的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31694080/