首页 >后端开发 >Python教程 >如何对两个以上的数组执行 NumPy 的逻辑或?

如何对两个以上的数组执行 NumPy 的逻辑或?

Patricia Arquette
Patricia Arquette原创
2024-11-29 15:34:10644浏览

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

Numpy 逻辑或用于两个以上参数

Numpy 的逻辑_或函数只能同时比较两个数组。要查找两个以上数组的并集,您有多种选择。

链接逻辑或调用

您可以将多个逻辑或调用链接在一起,但这可能会变得很麻烦。例如:

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)

使用reduce

NumPy 提供了一个可以概括链式操作的reduce 函数。例如:

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

这将返回一个数组,其中每个元素都是输入数组中相应元素的并集。

使用 Python 的 functools.reduce

Python 的 functools.reduce 函数也可以用于此目的目的:

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

不过NumPy的reduce一般来说效率更高。

使用np.any

NumPy的np.any函数也可以用于寻找工会。但是,它必须与轴参数一起使用:

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

这将返回一个数组,其中每个元素都是输入数组中沿指定轴的相应元素的并集。

注意:这些技术也适用于 Numpy 的逻辑_and 函数,用于查找两个以上数组的交集。

以上是如何对两个以上的数组执行 NumPy 的逻辑或?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn