Python 多列上的列映射
Df1: 。。。 Df2: 。。。 预期结果:Python 多列上的列映射,python,pandas,dataframe,Python,Pandas,Dataframe,Df1: 。。。 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 我如何加入Df2的数据框架,通过匹配Df1的[国家、性别和年份]输入来实现预期结果。 我尝试了合并/连接,但它似乎只识别出1列作为映射的标准,并最终将所有输入连接在一起。请尝试下面的代码 Country Sex Year Bin
Country Sex Year Rate
NZ M 2005 0.5
NZ M 2006 0.4
NZ F 2005 0.6
NZ F 2006 0.3
我如何加入Df2的数据框架,通过匹配Df1的[国家、性别和年份]输入来实现预期结果。
我尝试了合并/连接,但它似乎只识别出1列作为映射的标准,并最终将所有输入连接在一起。请尝试下面的代码
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.merge(df2,how='left')
有什么好处?谢谢,我不知道“on”,实际上试过了,但对多列使用了double[..]]。。结果是错误的。再次感谢@德文利:-欢迎!!
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
result = pd.merge(DF1, DF2, how='left', on=['Country', 'Sex','Year'])