You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas合并两个DataFrame时pd.merge结果不符如何解决

你当前合并结果不符合预期的核心原因是合并键选择错误。你将apple_wgt_colour、apple_wgt_no_colour也设置为了关联字段,这两个字段大概率是分别属于df1和df2的独有属性,两个表中这两个字段的取值大多不匹配,外连接时就会把两边不匹配的行单独拆分成新行,产生大量空值。

场景1:两个DataFrame行数完全一致、行顺序一一对应,无需按字段匹配关联

直接按列横向拼接即可,使用pd.concat方法:

import pandas as pd
result = pd.concat([df1.reset_index(drop=True), df2.reset_index(drop=True)], axis=1)

这里加reset_index(drop=True)是为了避免两个表原有索引不一致导致拼接出空值的问题。

场景2:需要按苹果IDapple_id关联两个表的属性

仅保留apple_id作为唯一合并键即可,不要把两个表的独有属性字段加入关联键:

result = pd.merge(df1, df2, how='outer', on='apple_id')

内容的提问来源于stack exchange,提问作者Muhammad Abdul Haiy Halid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:06:03