按列而不是轴对Numpy数组进行排序[重复]

Posted

技术标签:

【中文标题】按列而不是轴对Numpy数组进行排序[重复]【英文标题】:Sorting a Numpy array by column not axis [duplicate] 【发布时间】:2019-08-17 13:29:12 【问题描述】:

我有一个 numpy 数组,相当于:

array([[51, 62, 23],
       [24, 45, 16],
       [67, 78, 39]])

只是更大。我试图按第二列(即数字 62、45、78)排序,但将水平元素保持在一起。我想要得到的输出是:

array([[24, 45, 16],
       [51, 62, 23],
       [67, 78, 39]])

我不知道如何使用 np.sort 执行此操作 - 我认为这不是这项工作的正确功能(虽然我对 numpy 有点陌生,所以我可能是错的) - 我'我很高兴学习一个新功能,代码 sn-ps 会很棒,但是一个简单的“使用 np.blah”就足够了:D

【问题讨论】:

【参考方案1】:

如果你的 numpy 数组是 arr,这应该可以工作:arr[arr[:,1].argsort()]

【讨论】:

以上是关于按列而不是轴对Numpy数组进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何按列对二维数组(锯齿状)进行排序[重复]

Numpy下函数用法

numpy 数组到一个文件,np.savetxt

按列而不是行存储矩阵[重复]

即使无法使用numpy进行均分,也要按列拆分数组

NumPy 中的数据统计分析