繁体   English   中英

如何使用二维数组掩码索引 numpy 二维数组

[英]How to index a numpy 2d array with a 2d array mask

假设我们有一个 numpy 二维数组,如下所示:

x = array([[0, 7, 1, 6, 2, 3, 4],
           [4, 5, 0, 1, 2, 7, 3]])

和如下所示的 2D 蒙版:

mask = array([[ True, False,  True, False, False, False, False],
              [False, False, False, False,  True, False, False]])

我正在尝试使用掩码来获取每一行的元素。 所以 output 应该看起来像这样:

array(
    [0, 1],
    [2]
)

如果我使用x[mask]我得到array([0, 1, 2])这是错误的,因为它展平了所有选定的项目。

有什么想法可以将它作为二维数组返回吗?

怎么样

[xi[mi] for xi,mi in zip(x,mask)]

暂无
暂无

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

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