用於多數組並集運算的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中文網其他相關文章!