【发布时间】:2017-11-23 10:21:25
【问题描述】:
我正在使用np.broadcast_to 函数来获取重构数组的视图,就像示例一样:
>>> x = np.array([1, 2, 3])
>>> np.broadcast_to(x, (3, 3))
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
将一个掩码数组传递给这个函数会让我失去掩码:
>>> y = np.ma.array([1, 2, 3], mask=[False, True, False])
>>> np.broadcast_to(y, (3, 3))
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
如何获得以下视图?
array([[1, --, 3],
[1, --, 3],
[1, --, 3]])
【问题讨论】:
-
--不是有效的 Numpy 或 Python 标识符。--应该是什么?没有? -
@Kasramvd
--用于掩码数组的掩码项的显示。 -
我预计在
np.broadcast_to中传递subok=True会返回您想要的结果,但不幸的是,它没有。掩码未广播。 -
作为一般规则,numpy 函数不“知道”掩码数组。他们倾向于只使用
data部分。np.ma函数和将任务委托给掩码方法的函数一样。
标签: python numpy masked-array