在NumPy中,有多种排序算法可用于对数组进行排序,包括快速排序、堆排序、归并排序等。
NumPy中的排序函数通常包括以下参数:
NumPy中常用的排序函数有sort()、argsort()、lexsort()和partition()等。
其中:
下面是一些NumPy排序函数的演示示例:
import numpy as np
# sort()函数排序
arr = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
arr_sorted = np.sort(arr)
print(arr_sorted)
# argsort()函数排序
arr = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
idx = np.argsort(arr)
print(idx)
# lexsort()函数排序
a = np.array([3, 1, 4, 2])
b = np.array([50, 30, 40, 20])
c = np.array([400, 300, 200, 100])
idx = np.lexsort((a, b, c))
print(idx)
# partition()函数排序
arr = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
arr_partitioned = np.partition(arr, 3)
print(arr_partitioned)
输出结果为:
[1 1 2 3 3 4 5 5 6 9]
[1 3 0 9 2 4 7 6 8 5]
[1 3 2 0]
[1 1 2 3 3 4 5 5 6 9]
需要注意的是,排序函数返回的是排序后的数组或者下标,原数组并不会改变,如果需要修改原数组,需要手动进行赋值操作。此外,当对多维数组进行排序时,需要指定沿着哪个轴进行排序,否则默认是沿着最后一个轴进行排序。
本文链接:http://task.lmcjl.com/news/4381.html