Python中如何合并含空列值的DataFrame?合并失败求解决
DataFrame左连接失败的排查与解决
- 检查连接列
C的数据类型:确保DF1和DF2的C列类型完全一致,比如一个是字符串、一个是数值型的话,肯定无法匹配。可以通过DF1['C'].dtype和DF2['C'].dtype快速查看类型。 - 清理连接列的空格或特殊字符:从你提供的截图来看,最常见的原因就是
C列单元格前后存在隐藏空格(比如DF1中是" 100"、DF2中是"100"),用以下代码批量清理:DF1['C'] = DF1['C'].str.strip() DF2['C'] = DF2['C'].str.strip() - 排查连接列的空值:如果DF1的
C列存在NaN值,左连接后对应的Z列会显示NaN,这属于正常逻辑,可通过DF1['C'].isna().sum()统计空值数量。 - 重新执行合并操作:完成上述清理或检查后,再运行你的合并代码即可:
DF_new = DF1.merge(DF2[["C", "Z"]], on="C", how="left")
内容的提问来源于stack exchange,提问作者i200yrs
相关产品推荐
相关产品推荐

