Numpy 的有多个参数的逻辑或函数
Numpy 的逻辑_or 函数旨在比较两个数组并返回一个具有 True 或 False 值的数组,具体取决于比较结果。但是,该函数最多只能处理两个参数。要使用逻辑或查找两个以上数组的并集,我们有多种选择:
链接逻辑_or 调用
一种方法是链接多个逻辑_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) print(result)
输出:
[ True True True False]
此方法的工作原理是按顺序组合数组并对它们一一执行逻辑或。
使用reduce
组合多个逻辑或调用的更简洁的方法是使用NumPy 的 reduce 函数:
result = np.logical_or.reduce((x, y, z)) print(result)
输出:
[ True True True False]
reduce 对给定的数组序列应用指定的操作(在本例中为逻辑或)。
Python 的 reduce
或者,Python 也提供了一个可以使用的reduce函数:
from functools import reduce result = reduce(np.logical_or, (x, y, z)) print(result)
输出:
[ True True True False]
Python的reduce在这种情况下不太常用,因为通常有更简单的替代方案可用。
使用any
NumPy 的any 函数可以也可用于查找多个数组的并集,尽管它需要显式轴参数来指定执行操作的维度:
result = np.any((x, y, z), axis=0) print(result)
输出:
[ True True True False]
any返回一个具有 True 或 False 值的数组,指示沿指定轴的任何元素是否为 True。
类似地,logic_and 和其他逻辑函数在 a 中运行类似的方式,允许链接、归约以及任何组合两个以上参数的操作。
以上是如何对两个以上的 NumPy 数组执行逻辑或运算?的详细内容。更多信息请关注PHP中文网其他相关文章!