繁体   English   中英

Python/Numpy:在二维数组中按行组合 boolean 掩码

[英]Python/Numpy: Combining boolean masks by row in 2D array

我有一个二维 numpy 数组,其中包含 n 行 boolean 掩码,其中每行是 m 个掩码数组。

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]]
          ]

有没有办法对每行中掩码 arrays 的组合进行矢量化以获得以下结果?

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]
                  ]

感谢您提前提供任何指导或建议。

您正在尝试测试所有元素是否沿特定轴为真。 使用np.all

np.all(maskArr, axis=1)

Output

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]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM