我有以下简单数组:
a = np.array([
[1, 1000, 58],
[1, 200, 69],
[3, 300, 34],
[4, 400, 82]], dtype = int)
当我发出以下lexsort()
命令时:i = np.lexsort((a[:,0], a[:,1]))
我得到了:
array([[ 1, 200, 69],
[ 3, 300, 34],
[ 4, 400, 82],
[ 1, 1000, 58]])
虽然我在期待:
array([[ 1, 200, 69],
[ 1, 1000, 58],
[ 3, 300, 34],
[ 4, 400, 82],
])
任何人都可以解释为什么吗?以及如何获得预期的输出?
答案 0 :(得分:3)
关注@Divakar评论。我所要做的就是:
i = np.lexsort((a[:,1], a[:,0]))
谢谢