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

合并多个DataFrame时处理重叠ID及缺失索引的实现问题

实现方案

步骤1:导入依赖并构造示例DataFrame

import pandas as pd

# 构造第一个DataFrame
df1 = pd.DataFrame({
    'ID': [1,3,4,5,7],
    'Value': [10,21,12,43,11]
})

# 构造第二个DataFrame
df2 = pd.DataFrame({
    'ID': [1,2,4,6,7],
    'Value2': [12,14,55,23,90]
})

步骤2:按ID维度合并

使用外连接模式保留两个表的所有ID,缺失值默认填充为NaN:

# 双表合并代码
merged_df = pd.merge(df1, df2, on='ID', how='outer')

# 若后续有更多带Value3、Value4的DataFrame,可使用批量合并方案:
# from functools import reduce
# df_list = [df1, df2, df3, df4] # 所有待合并的表放入列表
# merged_df = reduce(lambda left, right: pd.merge(left, right, on='ID', how='outer'), df_list)

步骤3:生成ID专属字典

# 可选:如果需要把空值替换为空字符串而非NaN,可执行这一行
merged_df = merged_df.fillna('')

# 转换为「ID为键、数值字典为值」的目标结构
id_result = merged_df.set_index('ID').to_dict('index')

最终输出示例:

  • id_result[1] 返回 {'Value': 10, 'Value2': 12}
  • id_result[2] 返回 {'Value': '', 'Value2': 14}
  • id_result[3] 返回 {'Value': 21, 'Value2': ''}

内容的提问来源于stack exchange,提问作者markovv.sim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:06:03