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
Release: 2024-11-29 15:34:10
Original
648 people have browsed it

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)
Copy after login

Using reduce

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

np.logical_or.reduce((x, y, z))
Copy after login

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))
Copy after login

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)
Copy after login

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!

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