按照这个技巧来获取 NumPy 数组的唯一条目,我现在有一个双列数组,基本上是成对的,第一个元素在 [0.9:0.02:1.1] 范围内,第二个元素在 [1.5:0.1:2.0 范围内]。让我们称之为A
. 目前,它完全未排序,即
In [111]: A
Out[111]:
array([[ 1.1 , 1.9 ],
[ 1.06, 1.9 ],
[ 1.08, 1.9 ],
[ 1.08, 1.6 ],
[ 0.9 , 1.8 ],
...
[ 1.04, 1.6 ],
[ 0.96, 2. ],
[ 0.94, 2. ],
[ 0.98, 1.9 ]])
我想对其进行排序,以便每一行首先在第二列中增加,然后在第一列中增加。IE
array([[ 0.9 , 1.5 ],
[ 0.9 , 1.6 ],
[ 0.9 , 1.7 ],
[ 0.9 , 1.9 ],
[ 0.9 , 1.9 ],
[ 0.9 , 2. ],
[ 0.92, 1.5 ],
...
[ 1.08, 2. ],
[ 1.1 , 1.5 ],
[ 1.1 , 1.6 ],
[ 1.1 , 1.7 ],
[ 1.1 , 1.8 ],
[ 1.1 , 1.9 ],
[ 1.1 , 2. ]])
但我找不到同时提供两者的排序算法。正如这里所建议的,我已经尝试过A[A[:,0].argsort()]
and A[A[:,1].argsort()]
,但它们每列只排序一列。我也尝试过同时应用两者,但发生了同样的事情。
如果我错过了一些简单的东西,我深表歉意,但我已经找了一段时间了......