多列上的列映射

时间:2018-04-29 09:37:29

标签: python pandas dataframe

DF1:

Country Sex Year Bin
NZ      M   2005  1
NZ      F   2005  1
NZ      M   2007  3
KR      F   2005  2

... DF2:

Country Sex Year Rate
NZ      M   2005  0.5
NZ      M   2006  0.4
NZ      F   2005  0.6
NZ      F   2006  0.3

... 期望的结果:

Country Sex Year Bin Rate
NZ      M   2005  1   0.5
NZ      F   2005  1   0.6
NZ      M   2007  3   NaN
KR      F   2005  2   NaN

如何通过匹配Df1的[Country,Sex and Year]输入来加入Df2的数据帧以达到预期的结果。 我尝试了合并/加入,但它似乎只识别1列作为映射的标准,最终将所有输入加在一起..

1 个答案:

答案 0 :(得分:0)

尝试以下代码

result = pd.merge(DF1, DF2, how='left', on=['Country', 'Sex','Year'])