合并两个数据帧并聚合匹配列

2024-04-23 16:31:39 发布

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

我有两个具有唯一ID和匹配列的数据帧,如下所示:

df1 = pd.DataFrame({"ID" : [1,2,3], "Col1": [12,7,4], "Col2": [1,7,2]})

ID  Col1  Col2
1    12    1
2    7     7
3    4     2

df2 = pd.DataFrame({"ID" : [2,3,5], "Col1": [3,4,3], "Col2": [5,5,2], "Col3": [0,11,3]})

ID  Col1  Col2  Col3
2     3     5    0
3     4     5    11
5     3     2    3

我想做的是合并ID列上的那些数据帧,并对匹配的数据帧求和。不匹配的列应保持原样。你知道吗

应该变成这样

ID  Col1  Col2 Col3
1    12    1    NaN
2    10    12   0
3    8     7    11
5    3     2    3

我试着把一个df加到另一个df上,但是没有用。你知道吗


Tags: 数据iddataframedfnancol2col3col1
1条回答
网友
1楼 · 发布于 2024-04-23 16:31:39

使用concatgroupbysum,即

ndf = pd.concat([df1,df2]).groupby('ID').sum()

   Col1  Col2  Col3
ID                  
1     12     1   NaN
2     10    12   0.0
3      8     7  11.0
5      3     2   3.0

相关问题 更多 >