【发布时间】:2018-04-25 16:46:31
【问题描述】:
我有一个 numpy 数组,我想将它复制到另一个 numpy 数组,并将除 nan 值之外的所有值替换为零。你能帮忙吗?
【问题讨论】:
-
b = a.copy(); b[~np.isnan(b)] = 0 -
谢谢!只需添加一点,如果我有另一个名为 c 的数组,并且如果 b 中的值为 nan,我想将值从 c 复制到 b 怎么办?比如,使用值为 nan 的特定索引。
-
b[np.isnan(b)] = c[np.isnan(b)]或b = np.where(np.isnan(b), c, b)或从a一次性完成所有操作:b = np.where(np.isnan(a), c, 0) -
我认为
np.where解决方案是最干净的,也可能是最快的。