首頁  >  文章  >  後端開發  >  如何在 Python/NumPy 中高效地對數組項目進行排序而無需雙重排序?

如何在 Python/NumPy 中高效地對數組項目進行排序而無需雙重排序?

Barbara Streisand
Barbara Streisand原創
2024-10-31 20:10:29704瀏覽

How to Efficiently Rank Array Items in Python/NumPy without Double Sorting?

在Python/NumPy 中使用最小排序對數組項進行最佳排名

對數組中的數字進行排名,而無需計算成本高昂的雙重排序

利用NumPy 的argsort函數,可以在不改變原始數組的情況下確定數字的順序:

<code class="python">order = array.argsort()</code>

隨後,argsort 可以應用於order array 來獲得排名:

<code class="python">ranks = order.argsort()</code>

這種方法消除了原始數組的冗餘排序,從而產生更優化的排名演算法。

需要注意的是,對於多維數組,為 argsort 指定正確的軸至關重要。例如,要按行對二維數組進行排名:

<code class="python">ranks = array.argsort(axis=1)</code>

以上是如何在 Python/NumPy 中高效地對數組項目進行排序而無需雙重排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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