多列上的列映射[重复]

Posted

技术标签:

【中文标题】多列上的列映射[重复]【英文标题】:Column Mapping on Multi-columns [duplicate] 【发布时间】:2018-10-09 15:29:49 【问题描述】:

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 列识别为映射标准,并最终将所有输入连接在一起..

【问题讨论】:

df1.merge(df2, how='left') 得到什么? 【参考方案1】:

试试下面的代码

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

【讨论】:

谢谢,不知道'on',实际上尝试过,但对多列使用双 [[..]] .. 最终出错。再次感谢! @DevinLee:- 欢迎!!

以上是关于多列上的列映射[重复]的主要内容,如果未能解决你的问题,请参考以下文章