我想用第二个列表中的值替换列表中的nan,其值与第一个列表中的nan数完全相同。
mylist1 = list([1, 2, 3, np.nan, np.nan, 4, np.nan, 5])
mylist2 = list([-10, -11, -12])
我想要的是:
mylist1 = [1, 2, 3, -10, -11, 4, -12, 5]
答案 0 :(得分:4)
因为您已经在使用numpy(其中的np.nan
),所以应该使用ndarrays而不是列表。但是您可以根据需要进行转换:
>>> a = np.array(mylist1)
>>> a[np.isnan(a)] = mylist2
>>> a.astype(int).tolist()
[1, 2, 3, -10, -11, 4, -12, 5]