如何通过仅指定要添加的列来添加两个数据帧

2024-10-06 16:24:08 发布

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

代码如下:

输入:

df1 = pd.DataFrame({'a': [1,2,3], 'b': [2,3,4], 'c':['aa','bb','cc'], 'd':[5,9,1]})

df2 = pd.DataFrame({'a': [4,5,6], 'b': [7,8,9], 'c':['dd','ee','ff'], 'd':[50,90,10]})


combinedframes_add = df1.add(df2, fill_value=0)

输出

   a   b     c   d
0  5   9  aadd  55
1  7  11  bbee  99
2  9  13  ccff  11

但我希望我的输出如下:

   a   b     c   d
0  1   9  aadd  55
1  2  11  bbee  99
2  3  13  ccff  11

不应添加“a”列,它应与df1中的相同

我怎样才能做到这一点

提前谢谢


Tags: 代码adddataframeddeeaaccpd
1条回答
网友
1楼 · 发布于 2024-10-06 16:24:08

一个想法是从第二个DataFrame中删除列a

combinedframes_add = df1.add(df2.drop('a', axis=1), fill_value=0)
print (combinedframes_add)
     a   b     c   d
0  1.0   9  aadd  55
1  2.0  11  bbee  99
2  3.0  13  ccff  11

或将0设置为a列:

combinedframes_add = df1.add(df2.assign(a=0), fill_value=0)
print (combinedframes_add)
   a   b     c   d
0  1   9  aadd  55
1  2  11  bbee  99
2  3  13  ccff  11

相关问题 更多 >