首页 > 后端开发 > Python教程 > 如何对多个 NumPy 数组执行逻辑 OR/AND 运算?

如何对多个 NumPy 数组执行逻辑 OR/AND 运算?

DDD
发布: 2024-11-27 17:52:11
原创
646 人浏览过

How Can I Perform Logical OR/AND Operations on Multiple NumPy Arrays?

将 Numpy 的逻辑运算应用于多个数组

在 Numpy 中,logic_or 只能比较两个数组。这就引出了一个问题:如何找到两个以上数组的并集?同样的问题也适用于逻辑与和获取多个数组的交集。

Numpy 逻辑函数的限制

Numpy 明确将逻辑_或限制为两个参数:x1 和 x2。

链接逻辑操作

可以链接对逻辑_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)
登录后复制

结果:[ True, True, True, False]

使用一般化链接Numpy 的Reduce

为了概括这个链接, NumPy 提供了reduce 函数:

result = np.logical_or.reduce((x, y, z))
登录后复制

结果:[ True, True, True, False]

此方法也适用于多维数组:

xyz = np.array((x, y, z))
result = np.logical_or.reduce(xyz)
登录后复制

结果:[真,真,真,假]

Python 的Reduce

Python 的 functools.reduce 也可以使用:

import functools
result = functools.reduce(np.logical_or, (x, y, z))
登录后复制

结果:[ True, True, True, False]

Numpy 的 Any函数

Numpy 的任意函数也可以使用,但需要显式轴参数:

result = np.any((x, y, z), axis=0)
登录后复制

结果:[ True, True, True, False]

逻辑与(逻辑与)和其他操作

类似的方法适用于其他逻辑运算,包括逻辑与。例如,逻辑 xor 没有与 all 或 any 等效的值。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板