python - Pandas/Python 合并两个具有重复行的数据框

标签 python pandas

好的,这看起来应该很容易通过合并或连接操作来完成,但我无法破解它。我在 Pandas 工作。

我有两个数据框,它们之间有重复的行,我想以没有行或列重复的方式组合它们。它会像这样工作

df1:

A B 
a 1
b 2
c 3

df2:

A B 
b 2
c 3
d 4

df3 = df1 combined with df2

A B 
a 1
b 2
c 3
d 4

我尝试过的一些方法是选择一个行而不是另一个行(异或),然后附加它们,但我不知道如何进行选择。我的另一个想法是追加它们并删除重复的行,但我不知道如何做后者。

最佳答案

你想要一个 outer merge :

In [103]:
df1.merge(df2, how='outer')

Out[103]:
   A  B
0  a  1
1  b  2
2  c  3
3  d  4

上面的工作是因为它自然地找到两个 dfs 之间的公共(public)列并指定合并类型导致 df 具有所需的组合列的并集。

关于python - Pandas/Python 合并两个具有重复行的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30911078/

相关文章:

python - Django 模型子类化方法

python - Pandas - 根据与数据框中某些值匹配的系列索引将系列中的值添加到数据框列

python - 如何用 null 替换 pandas 列中的特定字符?

python - 替换一系列 Pandas 中的值

python - 将 MySQL 表数据转储到 csv 并转换字符编码的最佳方法是什么?

python - Python 2 中元类创建字符串名称支持 3

python - itertools.combinations 做出的保证是什么?

python - 如何为 matplotlib 设置 x 轴上的日期格式

python - 根据列变化选择行

python - Pandas - 将数据帧多索引转换为日期时间对象