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

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

Patricia Arquette
Patricia Arquette原创
2024-12-04 17:54:11594浏览

How to Sort a NumPy Array by a Specific Column?

根据特定列对 NumPy 数组进行排序

此查询解决了根据指定的第 n 列对 NumPy 数组进行排序的需要。为了说明这一点,让我们使用数组 'a':

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

我们的目标是根据矩阵 'a' 的第二列对行进行排序,结果是:

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

为了实现这一目标,我们可以利用基于索引对 NumPy 数组进行切片的功能并利用 argsort 函数。下面的代码演示了解决方案:

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

分解此代码:

  1. a[:, 1]:这选择 ' 的第二列a'.
  2. .argsort():这会生成一个数组表示第二列中元素的排序顺序的索引。
  3. a[a[:, 1].argsort()]:这会根据排序索引,得到所需的结果。

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

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