Home > Backend Development > Python Tutorial > How to Perform Numpy\'s Logical OR on More Than Two Arrays?

How to Perform Numpy\'s Logical OR on More Than Two Arrays?

Barbara Streisand
Release: 2024-11-27 19:10:11
Original
433 people have browsed it

How to Perform Numpy's Logical OR on More Than Two Arrays?

Numpy logical_or for More Than Two Arguments

The logical_or function in Numpy typically operates on only two arrays. However, if you need to compute the union of more than two arrays, there are several approaches you can consider.

Chaining Logical Operators

One method involves chaining multiple logical_or calls like so:

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)  # Union of arrays
print(result)  # Output: [ True  True  True False]
Copy after login

NumPy reduce Function

Another approach is to use the reduce function:

import numpy as np

# Union using reduce
result = np.logical_or.reduce((x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]
Copy after login

This method generalizes the chaining approach and can be used with multi-dimensional arrays as well.

Other Approaches

Beyond the aforementioned methods, you can also consider:

  • Python's reduce function:
import functools

result = functools.reduce(np.logical_or, (x, y, z))  # Union of arrays
print(result)  # Output: [ True  True  True False]
Copy after login
  • NumPy's any function with axis specification:
result = np.any((x, y, z), axis=0)  # Union of arrays
print(result)  # Output: [ True  True  True False]
Copy after login

Note for Logical_xor

For operations like logical exclusive or (logical_xor), NumPy does not provide an all/any-type function.

The above is the detailed content of How to Perform Numpy\'s Logical OR on More Than Two Arrays?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template