[英]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.