熊猫有条件合并两行

时间:2018-10-10 21:37:42

标签: python pandas

我想知道是否有一种方法可以对行进行分组,然后对条件聚合组进行分组。谢谢
例如, 对于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

1 个答案:

答案 0 :(得分:2)

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