合并多个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
相关产品推荐
相关产品推荐

