Pandas的两个dataframe合并遇到了问题。

发布于 2022-09-05 00:54:48 字数 282 浏览 9 评论 0

例如
第一个dataframe:(3个)

A B
1 5
2 6
3 7

第二个dataframe:(3个)

Me
a
b
c

现在我想让这两个dataframe合并,结果是
A B Me (9个)
1 5 a
1 5 b
1 5 c
2 6 a
2 6 b
2 6 c
3 7 a
3 7 b
3 7 c

该怎么办?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

百善笑为先 2022-09-12 00:54:48

受到@hanteng 回答的启发,将他的答案改进了一下。
以下是我的代码

import pandas as pd
t1 = pd.DataFrame([(1, 5), (2, 6), (3, 7)], columns=['A', 'B'])
t2 = pd.DataFrame(['a', 'b', 'c'], columns=['Me'])
t1['C'], t2['C'] = 1, 1
result = pd.merge(t1, t2, how='outer', on = ['C'])
result.drop('C', axis=1, inplace=True)

以下是我的结果

图片1图片2
图片描述图片描述
冷月断魂刀 2022-09-12 00:54:48

outer join? 來源: pandas-docs

In [46]: result = pd.merge(left, right, how='outer', on=['key1', 'key2'])

只要把key想好就可以做到。
merging_merge_on_key_outer.png

In [48]: left = pd.DataFrame({'A' : [1,2], 'B' : [2, 2]})

In [49]: right = pd.DataFrame({'A' : [4,5,6], 'B': [2,2,2]})

In [50]: result = pd.merge(left, right, on='B', how='outer')

merging_merge_on_key_dup.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文