从另一个大小的数据框中一个一个地填充数据框中的空值
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)
我想将df1
Col1
中的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
我有两个数据框如下:
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)
我想将df1
Col1
中的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