假设我给了numpy
这样的数组:
a = np.array([1, 2, 3, 4, np.nan, 5, np.nan, 6, np.nan])
# [1, 2, 3, 4, nan, 5, nan, 6, nan]
我知道数组中nan
个值的数量,并具有要替换的相应数组,例如:
b = np.array([12, 13, 14])
# [12, 13, 14]
将数组b
替换为所有nan
值的Python方法是什么,这样我得到了结果:
[1, 2, 3, 4, 12, 5, 13, 6, 14]
答案 0 :(得分:6)
使用a
在np.isnan
上执行布尔索引,并用b
替换为:
a[np.isnan(a)] = b
print(a)
# array([ 1., 2., 3., 4., 12., 5., 13., 6., 14.])