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?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-29 15:34:10754browse

How to Perform NumPy's logical_or on More Than Two Arrays?

Numpy logical_or for More Than Two Arguments

Numpy's logical_or function can only compare two arrays at a time. To find the union of more than two arrays, you have several options.

Chaining logical_or Calls

You can chain multiple logical_or calls together, but this can become cumbersome. For example:

x = np.array([True, True, False, False])
y = np.array([True, False, True, False])
z = np.array([False, False, False, False])
np.logical_or(np.logical_or(x, y), z)

Using reduce

NumPy provides a reduce function that can generalize chaining operations. For example:

np.logical_or.reduce((x, y, z))

This will return an array where each element is the union of the corresponding elements in the input arrays.

Using Python's functools.reduce

Python's functools.reduce function can also be used for this purpose:

functools.reduce(np.logical_or, (x, y, z))

However, NumPy's reduce is generally more efficient.

Using np.any

NumPy's np.any function can also be used to find the union. However, it must be used with an axis argument:

np.any((x, y, z), axis=0)

This will return an array where each element is the union of the corresponding elements in the input arrays along the specified axis.

Note: These techniques also apply to Numpy's logical_and function for finding the intersection of more than two arrays.

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!

Statement:
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