Python 基于数据帧中的相似列在数据帧中添加列

Python 基于数据帧中的相似列在数据帧中添加列,python,pandas,Python,Pandas,我试图得到一个输出,我希望在d1和d2中添加列d,其中a b c相同(比如groupby) 比如说 d1 = pd.DataFrame([[1,2,3,4]],columns=['a','b','c','d']) d2 = pd.DataFrame([[1,2,3,4],[2,3,4,5]],columns=['a','b','c','d']) 然后我想得到一个输出,作为 a b c d 0 1 2 3 8 1 2 3 4 5 合并两个数据帧并添加结果列d,其中

我试图得到一个输出,我希望在d1和d2中添加列
d
,其中a b c相同(比如groupby)

比如说

d1 = pd.DataFrame([[1,2,3,4]],columns=['a','b','c','d'])

d2 = pd.DataFrame([[1,2,3,4],[2,3,4,5]],columns=['a','b','c','d'])
然后我想得到一个输出,作为

   a  b  c  d
0  1  2  3  8
1  2  3  4  5
合并两个数据帧并添加结果列
d
,其中a b c相同

d1.add(d2)
radd
提供所有列的聚合

解决方案应该是一个数据帧,可以再次添加到另一个数据帧

非常感谢您的帮助。

您可以先使用:


我希望它被添加到一个递归循环中。列名有点不对劲。a b c显示为内柱,形状显示为(2,1)。因此,如果我将结果添加到第三个数据帧中,它将无法找到键a b c。我猜我没有执行重置索引。我的错。
print (d2.set_index(['a','b','c'])
         .add(d1.set_index(['a','b','c']), fill_value=0)
         .astype(int)
         .reset_index())

   a  b  c  d
0  1  2  3  8
1  2  3  4  5
df = pd.concat([d1, d2])
df.drop_duplicates()

   a  b  c  d
0  1  2  3  4
1  2  3  4  5