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