首頁 >後端開發 >Python教學 >如何依特定列對 NumPy 多維數組進行排序?

如何依特定列對 NumPy 多維數組進行排序?

Linda Hamilton
Linda Hamilton原創
2024-12-23 21:42:14954瀏覽

How Can I Sort a NumPy Multidimensional Array by a Specific Column?

在NumPy 中按特定列對多維數組進行排序

NumPy 提供了強大的數組操作功能,包括指定按列對多維數組進行排序。此功能對於組織和分析數據特別有用。讓我們探討如何在 NumPy 中實現基於列的排序。

假設我們有一個包含多列的 NumPy 數組 a:

a = numpy.array([[9, 2, 3],
                  [4, 5, 6],
                  [7, 0, 5]])

要按第二列對 a 的行進行排序,我們可以利用 argsort() 函數。它接受一個數組並傳回對數組進行排序的索引。透過使用這些排序索引對 a 進行索引,我們可以獲得所需的排序數組。

sorted_a = a[a[:, 1].argsort()]

此運算會產生以下排序陣列:

array([[7, 0, 5],
       [9, 2, 3],
       [4, 5, 6]])

語法 a[:, 1 ] 從陣列 a 中選擇第二列(索引為 1)。套用於此列的 argsort() 會產生排序索引,然後用於對資料列進行排序。

此技術非常有效率且通用,允許按多維數組中的任何所需列進行排序。它提供了一種方便而強大的方式來組織資料並從資料中提取有意義的見解。

以上是如何依特定列對 NumPy 多維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn