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

基于共同列合并两张数据表:将表1、表2合并生成表3

解决表合并需求的方案

这是典型的基于共同列的数据表关联合并场景,核心是通过两张表的共同列A来匹配对应数据,下面分两种常用场景给出具体实现:

SQL 解决方案

如果你的数据存储在关系型数据库(比如MySQL、PostgreSQL、SQL Server等)中,使用INNER JOIN就能得到你想要的结果:

SELECT 
    t2.X, 
    t2.Y, 
    t2.A, 
    t1.B, 
    t1.C
FROM 
    表2 t2
INNER JOIN 
    表1 t1 ON t2.A = t1.A;

说明:

  • INNER JOIN 会只保留两张表中A列值完全匹配的行,正好符合你预期的结果(表1中a3、a4因为在表2中没有对应A值,所以不会出现在最终结果里)。
  • 给表起别名t1(表1)和t2(表2)是为了简化代码,避免列名歧义(两张表都有A列,通过别名可以明确指定引用哪张表的列)。

执行这条SQL后,返回的结果就是你需要的表3结构和数据:

x1 y1 a1 b1 c1
x1 y2 a1 b1 c1
x2 y3 a2 b1 c2

Python Pandas 解决方案

如果是用Python处理内存中的数据表,可以用Pandas的merge方法实现:

import pandas as pd

# 构造示例表1数据
df1 = pd.DataFrame({
    'A': ['a1', 'a2', 'a3', 'a4'],
    'B': ['b1', 'b1', 'b1', 'b2'],
    'C': ['c1', 'c2', 'c2', 'c1']
})

# 构造示例表2数据
df2 = pd.DataFrame({
    'X': ['x1', 'x1', 'x2'],
    'Y': ['y1', 'y2', 'y3'],
    'A': ['a1', 'a1', 'a2']
})

# 基于A列进行内连接合并
df3 = pd.merge(df2, df1, on='A', how='inner')

# 查看结果
print(df3)

运行这段代码后,df3的结构和数据完全符合你的预期目标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:55:13