根据另一个具有不同大小的列表替换 nan 的列表 python

Replace nan's for a list according to another list with different sizes python

我想用第二个列表中的值替换列表中的 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] 

既然你已经在使用 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]