在python pandas中合并两个数据框[重复]

Posted

技术标签:

【中文标题】在python pandas中合并两个数据框[重复]【英文标题】:Merging two dataframes in python pandas [duplicate] 【发布时间】:2017-12-16 15:22:17 【问题描述】:

我有一个数据框 A:

a 1
a 2
b 1
b 2

另一个数据框 B:

a 3
a 4 
b 3

我希望我的结果数据框像

a 1 3
a 1 4 
a 2 3
a 2 4 
b 1 3 
b 2 3 

我想知道如何在 python 中获得所需的结果。非常感谢!

【问题讨论】:

请提供Minimal, Complete, and Verifiable example 我一直在想,发布这些基本问题是否真的比谷歌搜索 pandas merge 之类的东西更快,第二次点击引用了名为 Merge, join, and concatenate 的 pandas 文档 【参考方案1】:

使用df.merge 的简单合并可以做到这一点:

df1.merge(df2, on=['A'])

   A  B_x  B_y
0  a    1    3
1  a    1    4
2  a    2    3
3  a    2    4
4  b    1    3
5  b    2    3

【讨论】:

非常感谢您的回复。我以前试过这个,我得到的行比预期的多得多。我检查并发现我在结果数据框中有很多重复的行。我想知道为什么我在应用这个方法时会得到重复的行? @YingyingChen 这正是你指定的你想要的输出!此外,这不会给出重复的行。它对行进行自然连接。

以上是关于在python pandas中合并两个数据框[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将来自一个数据框的值合并到 Pandas 中的新列中[重复]

在 Pandas/Python 中合并两个数据框,保留数据框 1 中的所有列

将没有唯一索引的数据帧与 Python 和 Pandas 合并 [重复]

如何在python pandas中附加两个数据框[重复]

Python - Pandas Dataframe 以正确的方式合并两个数据框

Python Pandas - 连接两个具有不同行数和列数的数据框