📜  numpy 排序 - Python (1)

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

NumPy排序 - Python

NumPy是Python中一个强大的科学计算库。其中包含了许多排序方法,以及从列表、元组、数组进行排序的方法。在这篇文章中,我们将讨论如何使用NumPy进行排序。

NumPy的sort()方法

NumPy库中的sort()方法可以非常方便地对数组进行排序。sort()方法有两个可选参数:axis和kind。其中,axis表示要排序的轴,kind表示排序类型。

import numpy as np

a = np.array([2, 5, 1, 9, 7])
np.sort(a)  # [1, 2, 5, 7, 9]

在上面的例子中,我们使用sort()方法将数组a进行排序,默认情况下是升序排序。

按行或列排序
import numpy as np

a = np.array([[4, 2],
              [2, 5]])
print(np.sort(a, axis=0))  # 按列排序
# [[2 2]
#  [4 5]]
print(np.sort(a, axis=1))  # 按行排序
# [[2 4]
#  [2 5]]

上面的例子中,我们创建了一个二维数组a,并按列和行分别排序。

按指定条件排序

NumPy库中的sort()方法还支持按照指定条件进行排序。我们可以传递一个函数来指定排序条件。

import numpy as np

a = np.array([2, 5, 1, 9, 7])
print(np.sort(a, kind='heapsort'))  # 优化堆排序
# [1 2 5 7 9]

def reverse_sort(x):
    return -x

print(np.sort(a, kind=reverse_sort))  # 自定义排序
# [9 7 5 2 1]

在上面的例子中,我们使用kind参数实现了优化的堆排序,还通过传入的自定义函数进行了排序。

小结

上面的介绍中,我们讨论了使用NumPy来对数组进行排序的方法。sort()方法非常方便,并支持按行、列和指定条件进行排序。希望这篇文章对你有所帮助!