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

如何在Pandas中合并DataFrame并为缺失行填充0?

解决方案

可以通过 pandas 的 merge 方法结合列重命名、缺失值填充来实现需求,具体步骤如下:

1. 构建示例数据

首先根据你提供的结构创建两个 DataFrame:

import pandas as pd

df1 = pd.DataFrame({
    'left': ['a', 'b', 'c', 'd'],
    'center': [0.1, 0.2, 0.1, 0.3],
    'right': ['Tee', 'The', 'Three', 'ee']
})

df2 = pd.DataFrame({
    'left': ['a', 'c', 'b'],
    'center': [0.4, 0.7, 0.5]
})

2. 重命名列避免冲突

将 df2 中的 center 列重命名为 center2,防止合并后列名重复:

df2_renamed = df2.rename(columns={'center': 'center2'})

3. 左连接合并数据

以 left 列为连接键,使用左连接保留 df1 的所有行,同时匹配 df2_renamed 中的对应数据:

merged_df = pd.merge(df1, df2_renamed, on='left', how='left')

4. 填充缺失值为0

将合并后 center2 列的缺失值填充为0:

merged_df['center2'] = merged_df['center2'].fillna(0)

最终结果

执行上述代码后,merged_df 的结构与你期望的完全一致:

leftcentercenter2right
a0.10.4Tee
b0.20.5The
c0.10.7Three
d0.30.0ee

内容的提问来源于stack exchange,提问作者van dam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:17:18