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

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

Barbara Streisand
發布: 2024-10-27 19:15:01
原創
613 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板