我有两个数据框,如下所示
op1 = pd.DataFrame({
'subject_id':[1,1,1,1,1,1],
'date' : ['1/1/2017','1/2/2017','1/3/2017','1/4/2017','1/5/2017','1/6/2017'],
'val' :[5,10,5,16,26,6]
})
op2 = pd.DataFrame({
'subject_id':[1,1,1,1,1,1,1],
'date' : ['1/1/2017','1/2/2017','1/3/2017','1/4/2017','1/5/2017','1/6/2017','1/7/2017'],
'val' :[5,1,15,6,2,6,8]
})
我想从中复制记录op2(其中不存在op1)并将其放入最终数据帧中d。所以NaNs对于val记录中的记录是由记录op1填充的。所以我想合并记录。这是我尝试过的,但它不起作用valop2where val is NaN
d = op1.merge(op2, on = ['subject_id','date'],how='outer')
d[d['val_x'].isna()]['val_x'] = d['val_y']
我希望我的输出如下所示
