我有两个 numpy 数组 - 基本上是 SimpleCV 图像的 numpy 表示。其中一个矩阵主要包含零条目,除了少数不是。我想将那些非零条目复制到另一个矩阵。我可以用简单的for
循环轻松地做到这一点,但出于清晰和性能原因,我想用 numpy 做到这一点。阅读文档后,似乎屏蔽数组是要走的路,但我无法弄清楚如何告诉 numpy 只复制非屏蔽条目。一个虚拟的例子:
x = np.array([1,2,31,32,4,0,3,0,0,0])
y = np.ma.masked_where(x == 0, x)
z = np.array([99] * len(x))
z[:] = y
我希望y
只更新 中的非屏蔽条目z
,而是执行普通副本。我在这里是在正确的轨道上,还是应该去别处看看?