用相同大小的数组替换nan子数组的python方法
假设我给出了一个用相同大小的数组替换nan子数组的python方法,python,numpy,Python,Numpy,假设我给出了一个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方法是什么,这样我就得到了reult: [1, 2, 3, 4, 12, 5, 1
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方法是什么,这样我就得到了reult:
[1, 2, 3, 4, 12, 5, 13, 6, 14]
使用
np.isnan
对a
执行布尔索引,并替换为b
,如下所示:
a[np.isnan(a)] = b
我将添加这一点作为参考,以强调
np.isnan
可能是这样做的,因为np.nan==np.nan
总是False
。
print(a)
# array([ 1., 2., 3., 4., 12., 5., 13., 6., 14.])