尝试在另一个df中查找数据框列名称值,然后将其重新带回数据框

时间:2019-09-19 21:08:31

标签: python pandas

我从名为df2的交叉表中获得了此数据框:

paidmonth                                                                     
201508      183323.0        NaN        NaN        NaN        NaN        NaN   
201509      553608.0   145609.0        NaN        NaN        NaN        NaN   
201510      443364.0   704912.0   218593.0        NaN        NaN        NaN   
...

我还有另一个看起来像df5的数据框:

 effdate  insureds
0   201508     40681
1   201509     40989
2   201510     38734
...

我想为df2中的每一列查找df5(insureds)值,并将其放在df2的底部行中。因此,对于列201508,我在201508列的df2的最后一行中需要40681。

我试图像这样循环遍历:

for col in df2.columns:
    rval=df5.loc[df5['effdate']==col].index[0]
    insval=df5.loc[rval,:].values[1]

但不断出现债券脱离错误

1 个答案:

答案 0 :(得分:0)

如果我很了解,合并将解决问题。 浏览文档here

pd.merge(df2, df5, how='left', left_on='paidmonth', right_on = 'effdate')

据我所见,您需要左连接或内部连接(更改how='inner')。 我希望这会有所帮助。