Pandas按Name列匹配条件合并两个DataFrame的Value值实现方法
实现方法
最简单的实现方式是利用pandas的索引自动对齐特性,配合add方法的空值填充参数,一行代码即可完成需求:
df3 = df1.set_index('Name').add(df2.set_index('Name'), fill_value=0).reset_index()
逻辑说明
- 将两个DataFrame的
Name列设置为索引,pandas会自动按索引值对齐对应行 - 调用
add方法执行数值相加操作,指定fill_value=0参数:仅在单个表中存在的行,另一个表的对应值会用0填充,避免相加得到空值 - 最后调用
reset_index()将Name从索引还原为普通列,最终输出完全符合预期的结果
内容的提问来源于stack exchange,提问作者Varun Ramachandran
相关产品推荐
相关产品推荐

