首頁 > 後端開發 > Python教學 > 如何使用 NumPy 的「邏輯或」高效執行多數組聯合運算?

如何使用 NumPy 的「邏輯或」高效執行多數組聯合運算?

Barbara Streisand
發布: 2024-12-07 15:15:14
原創
315 人瀏覽過

How to Efficiently Perform Multi-Array Union Operations with NumPy's `logical_or`?

用於多數組並集運算的Numpy Logical_or

Numpy 的邏輯_or 函數對數組對進行操作,從而引發瞭如何高效組合的問題用於聯合運算的多個數組(對於邏輯與和交集也是如此)。

而邏輯或本身只接受兩個參數,它可以連結在一起:

x = np.array([True, True, False, False])
y = np.array([True, False, True, False])
z = np.array([False, False, False, False])
result = np.logical_or(np.logical_or(x, y), z)
# result: [ True,  True,  True,  False]
登入後複製

更通用的方法涉及使用reduce:

result = np.logical_or.reduce((x, y, z))
# result: [ True,  True,  True,  False]
登入後複製

此方法可以應用於兩個多維數組和一維數組的元組。此外,Python 的functools.reduce 可以以類似的方式使用:

result = functools.reduce(np.logical_or, (x, y, z))
# result: [ True,  True,  True,  False]
登入後複製

為了方便起見,Numpy 提供了any,它本質上沿著軸執行邏輯OR 縮減:

result = np.any((x, y, z), axis=0)
# result: [ True,  True,  True,  False]
登入後複製

類似原則適用於Logical_and 和其他邏輯運算符,但Logical_xor 除外,它缺少對應的all/any 類型函數。

以上是如何使用 NumPy 的「邏輯或」高效執行多數組聯合運算?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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