使用 NumPy 找出多個最大值
NumPy 陣列提供各種統計運算函數,包括使用 np.argmax 尋找單一最大值。但是,對於需要識別前 N 個最大值的場景,np.argmax 無法滿足特定要求。
解決方案:在較新的NumPy 版本中使用np.argpartition
在NumPy 1.8 及更高版本中,np.argpartition 函數為這個問題提供了解決方案。透過使用此函數,您可以獲得 N 個最大元素的索引。
例如,考慮一個陣列 [1, 3, 2, 4, 5]。要檢索四個最大元素的索引:
這將產生以下輸出:
其中'ind' 代表四個最大元素的索引,並且'top_four' 是對應的值。
對有序索引進行排序輸出
如果需要,您可以透過對對應的陣列元素呼叫np.argsort 來進一步對索引進行排序:
這確保在中獲得前k 個元素排序順序,時間複雜度為O(n k log k)。
以上是如何找到 NumPy 陣列中前 N 個最大值的索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!