首頁  >  文章  >  後端開發  >  如何在不進行雙重排序的情況下對 NumPy 數組中的元素進行有效排序?

如何在不進行雙重排序的情況下對 NumPy 數組中的元素進行有效排序?

DDD
DDD原創
2024-10-27 04:35:30851瀏覽

How to Efficiently Rank Elements in a NumPy Array Without Double Sorting?

Python/NumPy 中的高效數組排序,無需雙重排序

在資料分析和機器學習中,對數組中的項目進行排序是一種常見操作。但是,對數組進行兩次排序來實現此目的效率很低,因為它會增加計算複雜度。以下是使用NumPy 的更最佳化方法:

要對陣列中的項目進行排名而不需要兩次排序,請按照以下步驟操作:

  1. 套用argsort 一次即可取得數組元素的順序。
  2. 再次使用 argsort 對步驟 1 中獲得的排序進行排序。

例如:

輸出:

As您可以看到,ranks 數組提供了原始數組中每個元素的排名,而不需要雙重排序。

請注意,對於 2D 或更高維數組,指定用於排序的正確軸至關重要為 argsort 提供軸參數。

以上是如何在不進行雙重排序的情況下對 NumPy 數組中的元素進行有效排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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