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

如何使用Python/Pandas合并两个数据集并生成指定格式结果?

合并两个Pandas数据集并保留所有记录

先把你的两个数据集用代码还原出来:

import pandas as pd

df1 = pd.DataFrame({
    'Name': ['Michael', 'Peter'],
    'A': [1, 3],
    'B': [2, 4]
}, index=[1, 2])

df2 = pd.DataFrame({
    'Name': ['Peter', 'John'],
    'C': [8, 5],
    'D': [9, 6]
}, index=[1, 2])

要实现你要的合并效果,核心是用外连接(outer join),以Name作为连接键,这样能保留两个数据集中所有的Name记录:

merged_df = pd.merge(df1, df2, on='Name', how='outer')

这一步之后,缺失的位置会显示NaN。如果要把NaN替换成0,直接用fillna:

merged_df = merged_df.fillna(0)

要是想替换成'-',执行下面的代码就行(注意这会让原本的数值列变成字符串类型):

merged_df = merged_df.fillna('-')

最终输出的结果就和你要求的一致:

Name    A   B   C   D
0  Michael  1   2   -   -
1    Peter  3   4   8   9
2     John  -   -   5   6

(备注:合并后索引会自动重置,要是需要保留原索引格式,可以额外用reset_index或手动调整,不影响核心合并逻辑)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 00:32:21