此问题已在此处有答案:
How to sort a tensor by first dimension(2个答案)
去年就关门了。
在二维Tensor中,
tensor([[0.8771, 0.0976, 0.8186],
[0.7044, 0.4783, 0.0350],
[0.4239, 0.8341, 0.3693],
[0.5568, 0.9175, 0.0763],
[0.0876, 0.1651, 0.2776]])
如何根据列中的值对行进行排序?例如,如果我们要根据最后一列进行排序,我希望行是这样的。
tensor([[0.7044, 0.4783, 0.0350],
[0.5568, 0.9175, 0.0763],
[0.0876, 0.1651, 0.2776],
[0.4239, 0.8341, 0.3693],
[0.8771, 0.0976, 0.8186]])
最后一列中的值现在按升序排列。
3条答案
按热度按时间hkmswyz61#
argsort
“返回索引,该索引按值的升序对给定维度上的Tensor沿着排序。”因此,基本上,您将对最后一列的索引进行排序,并根据这些索引对行进行重新排序。zujrkrfu2#
fslejnso3#
你可以像下面这样使用排序和lambda函数。排序键是列表中的最后一项,x[-1]