Numpy Where 函數和多個條件
這題涉及 Numpy where 函數以及根據多個條件選擇元素。
問題與問題描述
使用者想要套用兩個條件(大於和小於)來從陣列(dists)中選擇屬於特定範圍的元素。然而,使用 where 函數作為 (np.where(dists >= r)) 和 (np.where(dists
解
方法1:將條件組合成單一標準
在這種特定情況下,建議將兩個條件組合成單一標準:
dists[abs(dists - r - dr/2.) <= dr/2.]
這種簡單的方法檢查距離和範圍中心之間的差的絕對值(r dr/2) 是否小於或等於範圍寬度的一半(dr /2)。
方法2:使用花式索引
或者,可以使用花式索引透過布林遮罩直接從原始陣列中選擇元素:
dists[(dists >= r) & (dists <= r + dr)]
這樣做的好處方法是它使用逐元素邏輯運算子(& 和|)來組合條件,從而產生一個二進位掩碼,用於標識滿足條件的元素。
問題解釋
使用(np.where(dists >= r)) 和(np.where(dists
以上是如何使用「where」函數從滿足多個條件的 Numpy 陣列中選擇元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!