可以高效地實現驗證Numpy 數組是否包含特定行無需迭代整個數組。在處理大型資料集時,這種最佳化變得尤其重要。
1。使用 .tolist()
將 Numpy 數組轉換為列表,以進行 Pythonic 和直接比較。
2.利用視圖
建立陣列視圖以有效執行逐元素比較。
3.在數組上生成
在 Numpy 數組上生成,將每一行與目標行進行比較。請注意,對於大型數組,此方法可能會很慢。
4。使用 Numpy 邏輯函數
利用 Numpy 的邏輯函數(例如 np.equal)執行高效的逐元素比較。
雖然每種方法根據陣列的大小和搜尋模式而有所不同, np.equal 往往是最快的純 Numpy 選項。對於早期命中,Python in 運算子可能會稍微快一些。生成器方法在搜尋陣列的大部分時表現不佳。
以下是基準比較的結果:
方法 | 時間(秒) | 準確度 |
---|---|---|
查看 | 0.1 | 真 |
Python 清單 | 0.3 | True |
產生器 | 3.2 | True |
邏輯等於 | 0.1 | 真 |
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3