【发布时间】:2019-02-07 18:10:05
【问题描述】:
我有一个 numpy 数组 -
a = np.array([[1,23],[5,4],[56,12], [7,29], [3,4], [2,15],[2,8], [4,8]])
并希望先按第 1 列然后按第 0 列排序,同时保留行顺序。我已经设法按轴 1 订购它 -
a = a[a[:,1].argsort()]
array([[ 5, 4],
[ 3, 4],
[ 4, 8],
[ 2, 8],
[56, 12],
[ 2, 15],
[ 1, 23],
[ 7, 29]])
但第0列也需要在第1列的升序内升序,例如:
array([[ 3, 4],
[ 5, 4],
[ 2, 8],
[ 4, 8],
[56, 12],
[ 2, 15],
[ 1, 23],
[ 7, 29]])
如何做到这一点?
【问题讨论】:
-
查看 lexsort。
标签: python arrays numpy sorting