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

时间:2018-07-23 21:58:25

标签: python numpy nan data-cleaning

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

1 个答案:

答案 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]