Python/Numpy:在二维数组中按行组合布尔掩码 [英] Python/Numpy: Combining boolean masks by row in 2D array
本文介绍了Python/Numpy:在二维数组中按行组合布尔掩码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含 n 行的布尔掩码的 2D numpy 数组,其中每行是一个包含 m 个掩码的数组.
I have a 2D numpy array of boolean masks with n rows where each row is an array of m masks.
maskArr = [
[[True, False, True, False], [True, True, False, True], [True, True, False, True]],
[[False, True, False, True], [False, True, True, True], [True, True, False, True]],
[[True, False, True, False], [True, True, False, True], [True, True, False, True]],
[[False, True, False, True], [False, True, True, True], [True, True, False, True]],
[[True, False, True, False], [True, True, False, True], [True, True, False, True]],
[[False, True, False, True], [False, True, True, True], [True, True, False, True]]
]
有没有办法对每一行的掩码数组组合进行向量化,得到如下结果?
Is there a way to vectorize the combining of mask arrays in each row to get the following result?
combinedMaskArr = [
[True, False, False, False],
[False, True, False, True],
[True, False, False, False],
[False, True, False, True],
[True, False, False, False],
[False, True, False, True]
]
提前感谢您的任何指导或建议.
Thank you for any guidance or suggestions in advance.
推荐答案
您正在尝试测试沿特定轴的所有元素是否都为真.使用 np.all
You're trying to testing whether all elements are true along a specific axis. Use np.all
np.all(maskArr, axis=1)
输出
array([[ True, False, False, False],
[False, True, False, True],
[ True, False, False, False],
[False, True, False, True],
[ True, False, False, False],
[False, True, False, True]])
这篇关于Python/Numpy:在二维数组中按行组合布尔掩码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文