可以高效地實現驗證Numpy 數組是否包含特定行無需迭代整個數組組。在處理大型資料集時,這種最佳化變得尤其重要。
1.使用.tolist()
將Numpy 陣列轉換為列表,以進行Python 式的直接比較。
2.使用視圖
建立陣列的視圖以有效地執行逐元素比較。
3.在數組上產生
在 Numpy 數組上生成,將每一行與目標行進行比較。請注意,對於大型數組,此方法可能會很慢。
4.使用 Numpy 邏輯函數
利用 Numpy 的邏輯函數(例如 np.equal)來執行高效率的逐元素比較。
雖然每種方法根據數組的大小和搜尋模式而有所不同, np.equal 往往是最快的純 Numpy 選項。對於早期命中,Python in 運算子可能會稍微快一些。生成器方法在搜尋陣列的大部分時表現不佳。
以下是基準比較的結果:
Method | Time (seconds) | Accuracy |
---|---|---|
View | 0.1 | True |
Python List | 0.3 | True |
Generator | 3.2 | True |
Logic Equal | 0.1 | True |
以上是如何有效率地檢查 Numpy 數組中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!