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

2024-04-26 13:30:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图得到一个输出,我希望在d1和d2中添加列d,其中bc是相同的(比如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,其中bc相同

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

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

感谢您的帮助


Tags: columns数据adddataframe解决方案d2d1pd
2条回答
df = pd.concat([d1, d2])
df.drop_duplicates()

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

您可以先使用^{}

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

相关问题 更多 >