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()。请参见编辑