熊猫合并两行有条件



我想知道是否有办法按行然后按条件聚合组分组。
例如谢谢你, 对于 colA 是 A,它应该将第二个 A 的 colB 设置为 test1 并将 colC 求和

colA colB colC
A   test1  5
A   None   6
B   test1  4
C   test1  5
C   test3  4
D   test4  5
D   None   4

预期成果

colA colB colC
A   test1  11
B   test1  4
C   test1  5
C   test3  4
D   test4  9

IIUC,您可以使用分组和填充,然后再次分组和求和

df['colB'] = df.groupby('colA').colB.ffill().bfill()
df.groupby(['colA','colB'], as_index = False).sum()
colA    colB    colC
0   A       test1   11
1   B       test1   4
2   C       test1   5
3   C       test3   4
4   D       test4   9

最新更新