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

如何在Power Query中合并两个数据集并整理为目标表格格式

解决方案

方法一:使用Python Pandas

假设两个数据集分别为df1(含Column DS1)和df2(含Column DS2),按以下步骤处理:

  1. 基于Column A和Column B执行全外连接:
import pandas as pd

merged_df = pd.merge(df1, df2, on=['Column A', 'Column B'], how='outer', suffixes=('_df1', '_df2'))

suffixes会给两个表的重复列(如Column C、Column D)添加后缀,方便后续区分。

  1. 合并重复列,保留非空值:
# 合并Column C,优先取df1的非空值,空值用df2补充
merged_df['Column C'] = merged_df['Column C_df1'].combine_first(merged_df['Column C_df2'])
# 同理处理Column D
merged_df['Column D'] = merged_df['Column D_df1'].combine_first(merged_df['Column D_df2'])
  1. 清理冗余列并调整目标列顺序:
# 若DS列因合并出现后缀,先重命名(比如df2的DS2列可能被命名为Column DS2_df2)
merged_df = merged_df.rename(columns={'Column DS2_df2': 'Column DS2'})
# 提取最终需要的列
final_df = merged_df[['Column A', 'Column B', 'Column DS1', 'Column DS2', 'Column C', 'Column D']]

方法二:使用SQL

如果数据存储在数据库中,用FULL OUTER JOIN配合COALESCE函数实现:

SELECT
    COALESCE(t1."Column A", t2."Column A") AS "Column A",
    COALESCE(t1."Column B", t2."Column B") AS "Column B",
    t1."Column DS1",
    t2."Column DS2",
    COALESCE(t1."Column C", t2."Column C") AS "Column C",
    COALESCE(t1."Column D", t2."Column D") AS "Column D"
FROM
    table1 t1
FULL OUTER JOIN
    table2 t2 
    ON t1."Column A" = t2."Column A" 
    AND t1."Column B" = t2."Column B"

COALESCE会返回参数中第一个非空值,自动补全全外连接产生的空值,同时合并重复列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 10:55:58