gpt4 book ai didi

python - 在 NumPy 中对数组进行排序,在一列上升序,在另一列上降序

转载 作者:太空宇宙 更新时间:2023-11-03 23:54:30 25 4
gpt4 key购买 nike

如何在 NumPy 中按第一列升序和第二列降序对二维数组进行排序?

例如,

a = array([[9, 2, 3],
[4, 5, 6],
[7, 0, 5],
[7, 1, 6]])

结果:

array([[4, 5, 6],
[7, 1, 6],
[7, 0, 5],
[9, 2, 3]])

最佳答案

您可以为此使用np.lexsort 函数

import numpy as np
a = np.asarray([[9, 2, 3],
[4, 5, 6],
[7, 0, 5],
[7, 1, 6]])

a[np.lexsort((-a[:, 1], a[:, 0]))]

输出

array([[4, 5, 6],
[7, 1, 6],
[7, 0, 5],
[9, 2, 3]])

关于python - 在 NumPy 中对数组进行排序,在一列上升序,在另一列上降序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58335746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com