Python 根据条件合并两行

Python 根据条件合并两行,python,pandas,Python,Pandas,我想知道是否有办法按行分组,然后按条件聚合组。谢谢你 例如 对于colA是A,它应该将第二个A的colB设置为test1和sum 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

我想知道是否有办法按行分组,然后按条件聚合组。谢谢你
例如 对于colA是A,它应该将第二个A的colB设置为test1和sum 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,您可以使用groupby和fill,然后再使用group和sum

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

只有在前面有数据时,才会填充单元格。如果订单不是我发布的,它就不会工作。感谢you@galaxyan,您可以使用ffill().bfill()。请参见编辑