在某些情況下,我們需要一個排序的數組進行計算。為此,Python 的 numpy 模塊提供了一個名為 numpy.sort() 的函數。此函數提供源數組或輸入數組的排序副本。

用法:
numpy.sort(a, axis=-1, kind='quicksort', order=None)
參數:
x:數組
此參數定義將要排序的源數組。
軸:整數或無(可選)
此參數定義執行排序的軸。如果此參數為None,則數組在排序前會被展平,默認情況下,此參數設置為-1,即沿最後一個軸對數組進行排序。
種類:{快速排序、堆排序、歸並排序}(可選)
該參數用於定義排序算法,默認使用'quicksort'進行排序。
order:str 或 str 列表(可選)
當一個數組定義了字段時,它的順序定義了在第一、第二等中進行比較的字段。隻能將單個字段指定為字符串,而不一定要為所有字段指定。但是,仍將按照它們在 dtype 中出現的順序使用未指定的字段來打破聯係。
返回值:
此函數返回源數組的排序副本,該副本將具有與源數組相同的形狀和類型。
範例1:
import numpy as np
x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]])
x
y=np.sort(x)
y
輸出:
array([[ 1, 4, 2, 3], [ 9, 13, 61, 1], [43, 24, 88, 22]]) array([[ 1, 2, 3, 4], [ 1, 9, 13, 61], [22, 24, 43, 88]])
在上麵的代碼中
- 我們已經導入了別名為 np.
- 我們使用 np.array() 函數創建了一個多維數組 'x'。
- 我們已經聲明了變量 'y' 並分配了 np.sort() 函數的返回值。
- 我們已經在函數中傳遞了輸入數組 'x'。
- 最後,我們嘗試打印 'y' 的值。
在輸出中,它顯示了相同類型和形狀的源數組的排序副本。
範例2:
import numpy as np
x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]])
x
y=np.sort(x, axis=None)
y
輸出:
array([[ 1, 4, 2, 3], [ 9, 13, 61, 1], [43, 24, 88, 22]]) array([ 1, 1, 2, 3, 4, 9, 13, 22, 24, 43, 61, 88])
範例3:
import numpy as np
x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]])
x
y=np.sort(x,axis=0)
y
z=np.sort(x,axis=1)
z
輸出:
array([[ 1, 4, 2, 1], [ 9, 13, 61, 3], [43, 24, 88, 22]]) array([[ 1, 2, 3, 4], [ 1, 9, 13, 61], [22, 24, 43, 88]])
範例4:
import numpy as np
dtype = [('name', 'S10'), ('height', float), ('age', int),('gender','S10')]
values = [('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'),('Vaishali', 5.2, 30, 'F')]
x=np.array(values, dtype=dtype)
x
y=np.sort(x, order='age')
y
z=np.sort(x, order=['age','height'])
z
輸出:
array([('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'), ('Vaishali', 5.2, 30, 'F')],dtype=[('name', 'S10'), ('height', '<f8'), ('age', '<i4'), ('gender', 'S10')]) array([('Arpita', 5.6, 23, 'F'), ('Shubham', 5.9, 23, 'M'), ('Vaishali', 5.2, 30, 'F')], dtype=[('name', 'S10'), ('height', '<f8'), ('age', '<i4'), ('gender', 'S10')]) array([('Arpita', 5.6, 23, 'F'), ('Shubham', 5.9, 23, 'M'), ('Vaishali', 5.2, 30, 'F')], dtype=[('name', 'S10'), ('height', '<f8'), ('age', '<i4'), ('gender', 'S10')])
在上麵的代碼中
- 我們已經導入了別名為 np.
- 我們已經為結構化數組定義了字段和值。
- 我們通過在 np.array() 函數中傳遞數據類型和值創建了一個結構化數組 'x'。
- 我們已經聲明了變量 'y' 和 'z',並賦值了 np.sort() 函數的返回值。
- 我們已經在函數中傳遞了輸入數組 'x' 和 order。
- 最後,我們嘗試打印 'y' 和 'z' 的值。
在輸出中,它顯示了具有定義順序的結構化數組的排序副本。
相關用法
- Python numpy.sort_complex()用法及代碼示例
- Python numpy.sort()用法及代碼示例
- Python numpy.shares_memory()用法及代碼示例
- Python numpy.stack()用法及代碼示例
- Python numpy.select()用法及代碼示例
- Python numpy.square()用法及代碼示例
- Python numpy.sqrt()用法及代碼示例
- Python numpy.subtract()用法及代碼示例
- Python numpy.swapaxes()用法及代碼示例
- Python numpy.sign()用法及代碼示例
- Python numpy.signbit()用法及代碼示例
- Python numpy.searchsorted()用法及代碼示例
- Python numpy.sum()用法及代碼示例
- Python numpy.sin()用法及代碼示例
- Python numpy.squeeze()用法及代碼示例
- Python numpy.setdiff1d()用法及代碼示例
- Python numpy.sinc()用法及代碼示例
- Python numpy.save()用法及代碼示例
- Python numpy.sctype2char()用法及代碼示例
- Python numpy.std()用法及代碼示例
注:本文由純淨天空篩選整理自 numpy.sort in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。