开发者社区> 问答> 正文

如何对多维数组按照第一列升序第二列降序排列?

例如:

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]])

展开
收起
游客6qcs5bpxssri2 2019-10-11 17:28:51 2722 0
1 条回答
写回答
取消 提交回答
  • 你可以使用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]))]lexsort

    2019-10-11 17:31:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载