首頁  >  文章  >  後端開發  >  如何使用「where」函數從滿足多個條件的 Numpy 陣列中選擇元素?

如何使用「where」函數從滿足多個條件的 Numpy 陣列中選擇元素?

Barbara Streisand
Barbara Streisand原創
2024-10-27 19:15:01451瀏覽

How to Select Elements from a Numpy Array Satisfying Multiple Conditions using the `where` Function?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn