有誰知道如何在numpy中結合整數索引?具體來說,我得到了幾個np.where
的結果,我想提取它們之間通用的元素。如何在邏輯上結合numpy中的整數索引?
對於上下文,我試圖用每個單元的邊界值之間的元素數來填充一個大的3d數組,即我有包括他們的時間,經度和緯度在內的單個事件的記錄。我想把它網格化成3D頻率矩陣,其中維度是時間,經度和緯度。
我可以循環陣列元素做一個np.where(timeCondition & latCondition & lonCondition)
,人口與結果的長度,但我認爲這將是非常低效的,因爲你將不得不重複許多where
s。
什麼會更好是隻有每個維度的每個單元wheres列表,然後循環通過邏輯組合它們?
'np.where(timeCondition&latCondition&lonCondition)'實際上應該是比要快得多。分別爲每個條件調用'np.where' - 這樣你只能遍歷每個元素一次 –
因此,就效率而言 - 問題在於np.where中重複的個別條件。因此,例如,當循環經度點時,我會有np.where(timeCondition&latCondition&lonCondition1)後接np.where(timeCondition&latCondition&lonCondition2),即必須多次無故搜索timeCondition&latCondition。我想,如果我只是把它們都做了一遍,然後將它們粘在列表中,然後我可以循環比較這些元素,它必須更快。這聽起來不錯嗎? – nrob
根據條件的使用情況,它可以用掩碼乘以掩碼而不是索引。我用它來優化矩陣分解算法中的某些循環,以達到良好效果。 –