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]]