我想按行值对下面的矩阵排序:
a = array([[1, 4, 6],
[5, 3, 7],
[8, 4, 1]])
字符串
作为
a = array([[6, 4, 1],
[7, 5, 3],
[8, 4, 1]])
型
我可以使用np.argsort(-a)
获得排序索引,它返回以下索引矩阵:
>>> a_idx = np.argsort(-a)
array([[2, 1, 0],
[2, 0, 1],
[0, 1, 2]])
型
但是用这些索引来重新排列原始矩阵对我来说是不可能的。
>>> a[a_idx]
array([[[8, 4, 1],
[5, 3, 7],
[1, 4, 6]],
[[8, 4, 1],
[1, 4, 6],
[5, 3, 7]],
[[1, 4, 6],
[5, 3, 7],
[8, 4, 1]]])
型
如何有效地完成这样一个任务?提前感谢。
2条答案
按热度按时间zsohkypk1#
试试这个,使用
.take_along_axis()
方法,字符串
输出:
型
hc8w905p2#
另一种方法
字符串