一、np.s.org函數
在介紹np.sort之前,我們需要先了解一下np.s_函數。np.s_函數是NumPy中的一個方便的快捷方式,它可以將切片轉換為水平堆疊的數組。下面是它的一個簡單用法示例:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.s_[a, b] # 將a和b水平堆疊起來
print(c)
運行結果將會輸出:
[1 2 3 4 5 6]
二、np.sort函數python
np.sort是NumPy中的排序函數,可以按照數組中元素的大小進行排序。該函數可以對多維數組進行排序,但默認只對最後一個維度進行排序。下面是它的一個簡單用法示例:
import numpy as np
a = np.array([3, 2, 1])
b = np.sort(a)
print(b)
運行結果將會輸出:
[1 2 3]
三、np.sort排倒序
np.sort默認是升序排列,如果需要降序排列,則可以在函數中設置參數。下面是一個示例:
import numpy as np
a = np.array([3, 2, 1])
b = np.sort(a)[::-1] # 將排好序的數組翻轉,即得到降序排列的結果
print(b)
運行結果將會輸出:
[3 2 1]
四、np.sort怎麼用
np.sort有許多用途,以下四個示例展示了其中的一些應用。
1. 對於多維數組,可以指定按照哪個維度進行排序:
import numpy as np
a = np.array([[3, 2], [1, 4]])
b = np.sort(a, axis=1) # 沿著第2個維度排序,即對每一行進行排序
print(b)
運行結果將會輸出:
[[2 3]
[1 4]]
2. 可以使用argsort函數返回索引:
import numpy as np
a = np.array([3, 2, 1])
b = np.argsort(a) # 返回排好序的數組元素在原數組中的索引
print(b)
運行結果將會輸出:
[2 1 0]
3. 對一個二維數組,可以按照特定的列進行排序:
import numpy as np
a = np.array([[3, 2], [1, 4]])
b = a[a[:, 0].argsort()] # 按照第1列的順序排序,類似Excel中的排序功能
print(b)
運行結果將會輸出:
[[1 4]
[3 2]]
4. 對字元串數組進行排序:
import numpy as np
a = np.array(["apple", "banana", "cat"])
b = np.sort(a)
print(b)
運行結果將會輸出:
['apple' 'banana' 'cat']
五、np.sort函數怎麼用
np.sort的一些功能已經在前面的示例中進行了介紹,下面我們重點講解一下np.sort函數的用法。
1. np.sort()參數
np.sort有很多參數可以控制排序的行為。下面是一個np.sort的參數列表,可以根據需求選擇常用的參數進行調整:
- axis:指定按照哪個維度進行排序。默認是最後一個維度。
- kind:指定排序演算法,可以是{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}中的一個,其中’stable’會保持元素原有的相對順序。
- order:指定排序使用的欄位(按照指定欄位的值進行排序)。
- dtype:指定輸出數組的數據類型。
- … (還有其他參數,具體可參考NumPy官方文檔)
2. np.sort(a)的用法
np.sort能夠對數組進行排序,除了第一個參數a之外,還可以添加其他的參數以控制排序的方式。
import numpy as np
a = np.array([3, 2, 1])
b = np.sort(a) # 對a數組進行排序
print(b)
運行結果將會輸出:
[1 2 3]
3. np.s.org降序
與升序相對應的是排序中的降序。要使數組降序排列,可以按照以下方式使用np.sort函數:
import numpy as np
a = np.array([3, 2, 1])
b = np.sort(a)[::-1] # 將排序後的數組倒序輸出
print(b)
運行結果將會輸出:
[3 2 1]
4. np.sort函數返回索引
使用np.argsort函數,可以返回一個列表,其中包含指定數組的索引值,這些索引值表示元素排序後的位置。
import numpy as np
a = np.array([3, 2, 1])
b = np.argsort(a) # 返回排好序的數組元素在原數組中的索引
print(b)
運行結果將會輸出:
[2 1 0]
5. np.sort與a.sort區別
np.sort可以將指定數組按照指定方式排序,而a.sort則直接對數組進行排序,更改原數組的順序。下面是一個np.sort和a.sort的對比示例:
import numpy as np
a = np.array([3, 2, 1])
b = np.sort(a) # 原數組不變,返回排序後的數組
print(a, b)
c = np.array([3, 2, 1])
c.sort() # 直接更改原數組的順序,不返回新的數組
print(c)
運行結果將會輸出:
[3 2 1] [1 2 3]
[1 2 3]
結束語
通過對np.sort函數及其相關應用的掌握,可以讓我們更加方便地對NumPy數組進行排序,大大提高了編程效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/304513.html