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

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

Barbara Streisand
發布: 2024-10-31 20:10:29
原創
798 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板