python - 两个形状相同的复杂多维数组的条件检查

标签 python numpy

我有两个 10x2x2 复数 64 数组。我想找出哪个 2x2 数组中的一个或两个不全为零:

import numpy
a = numpy.zeros((10,2,2), "complex64")
b = numpy.ones((10,2,2), "complex64")

empty_one_or_both = (a.reshape(10,4) != 0).all(axis=1) * (b.reshape(10,4) != 0).all(axis=1) # EDIT

目标是仅对非空对执行其他操作,例如:

numpy.sqrt(a[empty_one_or_both])

有更好的方法吗?

最佳答案

从 numpy 1.7 开始,你可以这样做:

a.all(axis=(1, 2)) & b.all(axis=(1, 2))

请参阅docs了解更多信息,但如果您使用的是旧版本,我认为您必须重新调整形状,或者执行 all(1).all(1)。

关于python - 两个形状相同的复杂多维数组的条件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10212367/

相关文章:

python - python中的Lua解析器

python - 在 NumPy 中将行向量转换为列向量

python - scikit-learn Imputer 类 - 中值策略可能存在错误?

python - 使用 2 个条件在 Python 中过滤数组

python - scipy.integrate.ode.integrate() 可选的 `step` 和 `relax` 参数有什么作用?

python - SciPy interp2d(linear) 结果不同于 MatLab interp2(linear)

python - re.search 多行 Python

python - 将信息传递给导入的 Python 模块

Python 宏 : Use Cases?

python - Django 模型类装饰器