討論如何在Python的NumPy陣列中應用排序函式?
NumPy指的是“數值” “Python”。它是一個包含多維陣列物件和多種有助於處理陣列的方法的庫。NumPy可以用來對陣列執行各種各樣的操作。它與SciPy、Matplotlib等包結合使用。NumPy+Matplotlib可以理解為MatLab的替代品。它是一個開源包,這意味著任何人都可以使用它。
NumPy包中最重要的物件是n維陣列,稱為“ndarray”。它定義了相同型別專案的集合。可以使用索引(基於0的索引)訪問ndarray中的這些值。ndarray中的每個專案在記憶體空間中佔用相同大小的塊。可以使用“dtype”函式找到ndarray中每個元素的型別。
可以使用陣列切片提取ndarray中的專案。它表示為陣列標量型別的物件。NumPy中存在各種排序函式。它們可以在不同的方法中實現,並且這些函式中的每一個都基於它們的執行速度、最壞情況下的效能、所需的記憶體等等而有所不同。
NumPy中的“sort”函式返回作為輸入傳遞給它的陣列的已排序副本。
numpy.sort(arr, axis, kind, order)
這裡,“arr”是要排序的陣列。“axis”指的是要沿其排序陣列的軸。“kind”指的是排序型別,預設值為快速排序。如果陣列包含任何其他欄位,“order”指的是需要排序的這些欄位。
以下是將sort()應用於NumPy陣列的示例:
示例
import numpy as np
my_arr = np.array([[3,56],[19,100]])
print("Original array is :")
print(my_arr)
print("The sort() function called")
print(np.sort(my_arr))
print("Sorting array along axis 0")
print(np.sort(my_arr, axis = 0))
dt = np.dtype([('Name', 'S6'),('Age', int)])
my_arr = np.array([("Will",20),("Jack",19),("Bob", 23)], dtype = dt)
print("Original array is :")
print(my_arr)
print("Array sorted by name ")
print(np.sort(my_arr, order = 'Name'))輸出
Original array is : [[ 3 56] [ 19 100]] The sort() function called [[ 3 56] [ 19 100]] Sorting array along axis 0 [[ 3 56] [ 19 100]] Original array is : [(b'Will', 20) (b'Jack', 19) (b'Bob', 23)] Array sorted by name [(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]
解釋
- 將所需的庫匯入環境中。
- 建立ndarray,並使用“sort”函式對其進行排序。
- 顯示輸出。
- 再次,它沿軸0排序,並在控制檯上顯示輸出。
- 建立另一個包含姓名和年齡的陣列,並沿軸0對其進行排序。
- 在控制檯上顯示輸出。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP