温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎样用pandas合并数据框

发布时间:2026-09-23 21:29:59 来源:亿速云 阅读:106 作者:小樊 栏目:编程语言

在 pandas 中,“合并数据框”通常指以下几种常见场景,下面按使用频率从高到低介绍,并给出示例。


1. pd.merge() —— 按“键”合并(类似 SQL 的 JOIN)

最常用,适合有共同字段(如 id、date)的情况。

import pandas as pd

df1 = pd.DataFrame({
    'id': [1, 2, 3],
    'name': ['A', 'B', 'C']
})

df2 = pd.DataFrame({
    'id': [1, 2, 4],
    'score': [90, 85, 88]
})

result = pd.merge(df1, df2, on='id', how='inner')

how 参数

  • 'inner':交集(默认)
  • 'left':左连接
  • 'right':右连接
  • 'outer':全连接

✅ 多键合并:

pd.merge(df1, df2, on=['id', 'date'])

2. df.join() —— 按索引合并

适合索引相同的数据框。

df1 = df1.set_index('id')
df2 = df2.set_index('id')

result = df1.join(df2, how='left')

3. pd.concat() —— 纵向或横向拼接

纵向拼接(增加行)

df3 = pd.DataFrame({
    'id': [4, 5],
    'name': ['D', 'E']
})

result = pd.concat([df1, df3], ignore_index=True)

横向拼接(增加列)

result = pd.concat([df1, df2], axis=1)

⚠️ 注意:横向拼接默认按索引对齐


4. df.append()(已不推荐)

⚠️ pandas 2.0 已弃用,建议用 concat


5. 合并时常见问题

列名冲突

pd.merge(df1, df2, on='id', suffixes=('_left', '_right'))

重复索引

pd.concat([df1, df2], ignore_index=True)

快速选择建议

需求 推荐方法
按字段关联 pd.merge
按索引关联 df.join
上下拼数据 pd.concat
SQL 风格 pd.merge

如果你有具体数据结构或合并逻辑(比如“按时间对齐”“左表为主”“多对多”),可以直接贴出来,我可以帮你写精确代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手