首页 >后端开发 >Python教程 >如何按特定列对 NumPy 数组的行进行排序?

如何按特定列对 NumPy 数组的行进行排序?

DDD
DDD原创
2024-11-28 21:27:18759浏览

How to Sort a NumPy Array's Rows by a Specific Column?

在 NumPy 中按列对数组进行排序

按列对数组进行排序是数据分析和操作中的常见任务。 NumPy 提供了执行此操作的有效方法。

问题:

给定一个具有多列的 NumPy 数组,如何按特定的顺序对其行进行排序列?

示例:

考虑以下数组 a:

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

我们想要按第二列对 a 的行进行排序 (第 1 列,索引从 0) 到获取:

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

答案:

要按第二列对 a 进行排序,请使用以下代码:

a[a[:, 1].argsort()]

此表达式实现所需的结果,因为:

  1. a[:, 1] 选择第二列
  2. argsort() 返回按升序对列进行排序的索引。
  3. 使用这些索引对 a 建立索引会相应地对 a 的行进行排序。

因此,这种方法提供了一种方便有效的方法来按任何指定列对 NumPy 数组进行排序。

以上是如何按特定列对 NumPy 数组的行进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn