📜  Python numpy.sort(1)

📅  最后修改于: 2023-12-03 15:18:57.169000             🧑  作者: Mango

Python numpy.sort

numpy.sort() 是一个用来排序 numpy 数组的函数。该函数可以按照给定的轴按行或列进行排序,并返回已排序的数组。

语法

numpy.sort() 的语法如下所示:

numpy.sort(a, axis=-1, kind=None, order=None)

参数解释:

  • a:需要排序的数组。
  • axis:默认为 -1,表示按行排序。若要按列排序,则需要指定 axis=0
  • kind:默认为 quicksort,表示使用快速排序算法进行排序。还可以选择 mergesortheapsort 算法进行排序。
  • order:表示需要排序的字段。
示例
import numpy as np

a = np.array([[3, 7], [9, 1]])
print(np.sort(a))  # [[3 7]
                   #  [1 9]]

b = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5])
print(np.sort(b))  # [1 1 2 3 4 5 5 6 9]

c = np.array(['w', 'q', 'a', 'b', 'g', 'c'])
print(np.sort(c))  # ['a' 'b' 'c' 'g' 'q' 'w']
按字段排序

在示例中,我们已经可以按行或列排序数组。有时候,我们需要按照数组的某个字段进行排序。为此,我们需要指定 order 参数。例如:

import numpy as np

dt = np.dtype([('name', 'S10'), ('age', int)])
a = np.array([('Tom', 25), ('John', 20), ('Amy', 30), ('Bob', 35)], dtype=dt)

print(np.sort(a, order='name'))  # [(b'Amy', 30) (b'Bob', 35) (b'John', 20) (b'Tom', 25)]