好吧这看起来应该很容易用合并或连接操作,但我不能破解它。我在熊猫工作。
我有两个数据帧,它们之间有重复的行,我想以不重复行或列的方式组合它们。它会像这样工作
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
我尝试过的一些方法是选择一个但不是另一个的行(一个XOR),然后追加它们,但我无法弄清楚如何进行选择。我的另一个想法是追加它们并删除重复的行,但我不知道如何做后者。
答案 0 :(得分: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之间找到了公共列,并且指定了合并类型会产生一个带有所需组合列的联合的df。
答案 1 :(得分:0)
您可以使用以下内容删除重复项:
pd.concat([df1, df2]).drop_duplicates()