python - 按列对python数组/recarray进行排序

标签 python arrays sorting numpy recarray

关于如何按给定列对整个数组/recarray 进行排序,我有一个相当简单的问题。例如,给定数组:

import numpy as np
data = np.array([[5,2], [4,1], [3,6]])

我想按要返回的第一列对数据进行排序:

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

最佳答案

使用 data[np.argsort(data[:, 0])] 其中 0 是要排序的列索引:

In [27]: import numpy as np

In [28]: data = np.array([[5,2], [4,1], [3,6]])

In [29]: col = 0

In [30]: data=data[np.argsort(data[:,col])]
Out[30]: 
array([[3, 6],
       [4, 1],
       [5, 2]])

关于python - 按列对python数组/recarray进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835531/

相关文章:

c - 将外部数组分配给局部变量而不复制数组

c++ - 对于循环长度问题

C++ 按字母顺序对 vector 的 vector 中的字符串进行排序

c - 随机乱序内存泄漏

Java:比较两个类列表,无论顺序如何

Python3 将值附加到数组,但前提是它不是 None

python - 如何在不重新启动 uwsgi 实例的情况下更新 Flask 模板?

Python - 如果我删除 Lambda 那么应用程序未定义?

python - JSON 数据的 POST 与请求的工作方式与curl 不同

c - 我将如何读取一行,解析信息,然后将其归因于 C 中的结构?