【发布时间】:2019-12-19 19:59:37
【问题描述】:
首先,我对 python 很陌生,因此非常感谢任何提示/帮助。
基本上,我希望一个 nx3 numpy 数组最初按第二列排序,然后按第三列排序,但我希望该行中的所有数据彼此保留。
像这样:
import numpy as np
a = np.array([[20, 2, 4],
[7, 5, 6],
[25, 1, 5],
[2, 2, 3],
[3, 5, 8],
[4, 1, 3]])
......... (n times)
在这个数组中,第一列表示值,第二列表示 x 坐标,第三列表示 y 坐标。首先通过 x 坐标对数组进行降序排序,然后对 y 坐标进行降序排序,同时值仍然分配给 x 和 y 坐标的最佳方法是什么?
所以排序后是这样的:
a = ([[4, 1, 3],
[25, 1, 5],
[2, 2, 3],
[20, 2, 4],
[7, 5, 6],
[3, 5, 8]])
......... (n times)
如您所见,它如何首先对 x 坐标进行排序,然后对具有相同 x 坐标的所有 y 坐标进行排序。因为它首先找到 1 的所有 x 坐标,然后在该排序中找到 y 坐标。虽然值、x 和 y 坐标都彼此保持在同一行。
【问题讨论】:
标签: python arrays numpy sorting