从另一个大小的数据框中一个一个地填充数据框中的空值

Fill null values in a dataframe from another sized dataframe one by one

我有两个数据框如下:

import pandas as pd
from numpy import nan

rawdata = {'col1': [3 ,nan ,4 ,7 ,nan ,5], 
'col2': [10 ,20 ,10 ,30 ,10 ,40], 
'col3': [23 ,34 ,45 ,56 ,34 ,23]}

fill_values = {'col1': [300 ,500]}

df1 = pd.DataFrame.from_dict(rawdata)
df2 = pd.DataFrame.from_dict(fill_values)

我想将df1Col1中的nan值和df2中的值从上到下逐一填充。

如果 df1 等于 df2 的大小,我确定 NaN 值的数量。

最后,我需要得到以下:

 col1 col2  col3
    3   10    23
   300  20    34
    4   10    45
    7   30    56
   500  10    34
    5   40    23

你可以试试

df1.loc[df1['col1'].isnull(), 'col1'] = df2['col1'].values