Python NumPy numpy.sort() 函数
Minahil Noor
2023年1月30日
-
numpy.sort()
语法 -
示例代码:
numpy.sort()
-
示例代码:
numpy.sort()
对一个多维数组进行排序 -
示例代码:
numpy.sort()
沿着指定的轴对多维数组排序 -
示例代码:
numpy.sort()
对不同类型的数组进行排序
Python NumPy numpy.sort()
函数对任意数据类型的 N 维数组进行排序。默认情况下,该函数以升序对数组进行排序。
numpy.sort()
语法
numpy.sort(a, axis=-1, kind=None, order=None)
参数
a |
它是一个类似数组的结构。它是要排序的输入数组。 |
axis |
它是一个整数。它代表函数对数组进行排序的轴。它的默认值是-1,意味着函数将沿着最后一个轴,即升序对数组进行排序。如果是 None ,函数将在排序前把多维的数组转换为一维。如果是 0,函数将沿着第一个轴,即降序对数组进行排序。 |
kind |
它是一个字符串。它代表排序算法的名称。这个函数接受的排序算法名称是 quicksort 、mergesort 、heapsort 和 stable 。要阅读更多关于这些排序算法的时间复杂性,请点击这里。 |
order |
它是一个字符串或一个字符串列表。当定义了数组的字段时,这个参数用来指定要先比较的字段。 |
返回值
它返回一个与输入的数组类型和形状相同的排序数组。
示例代码:numpy.sort()
参数 a
是必须的。如果我们在一维的数组上执行这个函数,它将产生以下输出。
import numpy as np
a = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)
输出:
The sorted array is:
[2 9 11 12 12 23 28 34 34 45 56 65 65 78 78 78 82 87 89 90]
它返回了一个按升序排序的数组。
示例代码:numpy.sort()
对一个多维数组进行排序
现在我们将传递一个多维的数组。
import numpy as np
a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)
输出:
The sorted array is:
[[ 5 11 12]
[ 6 10 15]
[ 8 10 12]
[ 8 12 15]
[34 78 90]]
函数对数组进行了升序排序,即沿最后一个轴排序,因为 axis
的默认值为 -1。
示例代码: numpy.sort()
沿着指定的轴对多维数组排序
我们将 axis
参数的值设置为 None
。
import numpy as np
a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
sorted_array = np.sort(a, axis=None)
print("The sorted array is:")
print(sorted_array)
输出:
The sorted array is:
[5 6 8 8 10 10 11 12 12 12 15 15 34 78 90]
请注意,函数首先将数组转换为一维数组,然后对其进行排序。
现在,我们将沿着第一个轴对数组进行排序。
import numpy as np
a = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8]])
sorted_array = np.sort(a, axis=0)
print("The sorted array is:")
print(sorted_array)
输出:
The sorted array is:
[[10 6 5]
[11 8 8]
[12 12 10]
[15 15 12]]
函数沿第一轴对数组进行了排序,即降序排序。
示例代码:numpy.sort()
对不同类型的数组进行排序
我们可以使用这个函数对不同数据类型的数组进行排序,比如一个字符串数组、一个布尔值数组等。
import numpy as np
a = np.array([["z", "x"], ["b", "a"], ["g", "l"], ["k", "d"]])
sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)
输出:
The sorted array is:
[['x' 'z']
['a' 'b']
['g' 'l']
['d' 'k']]
注意,它已经按照字母顺序递增的方式对数组进行了排序。现在,我们将传递一个布尔值数组。
import numpy as np
a = np.array([[True, False, True], [False, False, True], [False, True, True]])
sorted_array = np.sort(a)
print("The sorted array is:")
print(sorted_array)
输出:
The sorted array is:
[[False True True]
[False False True]
[False True True]]