基于公共Id列连接行数不同的两个数据表的实现方法咨询
实现方案
你需要的是基于Id字段的**左连接(LEFT JOIN)**操作,保留表1的所有行,同时匹配表2中对应Id的价格、颜色字段即可得到目标结果。
SQL 实现代码
SELECT t1.Id, t1.产品名称, t2.价格, t2.颜色 FROM 表1 AS t1 LEFT JOIN 表2 AS t2 ON t1.Id = t2.Id;
Python Pandas 实现代码
import pandas as pd # 表1、表2分别对应你的两个DataFrame对象 result = pd.merge(表1, 表2, on="Id", how="left")
关联表参考
表1
| Id | 产品名称 |
|---|---|
| 1 | 球 |
| 2 | 球棒 |
| 3 | 手套 |
| 1 | 球拍 |
| 1 | 球网 |
| 2 | 胶带 |
表2
| Id | 价格 | 颜色 |
|---|---|---|
| 1 | $1.99 | 黑色 |
| 2 | $2.99 | 黄色 |
| 3 | $3.99 | 绿色 |
运行后输出结果表
| Id | 产品名称 | 价格 | 颜色 |
|---|---|---|---|
| 1 | 球 | $1.99 | 黑色 |
| 2 | 球棒 | $2.99 | 黄色 |
| 3 | 手套 | $3.99 | 绿色 |
| 1 | 球拍 | $1.99 | 黑色 |
| 1 | 球网 | $1.99 | 黑色 |
| 2 | 胶带 | $2.99 | 黄色 |
内容的提问来源于stack exchange,提问作者SkyHigh07
相关产品推荐
相关产品推荐

