我的数据框如下。
Cycle Type Count Value
1 1 5 0.014
1 1 40 -0.219
1 1 5 0.001
1 1 100 -0.382
1 1 5 0.001
1 1 25 -0.064
2 1 5 0.003
2 1 110 -0.523
2 1 10 0.011
2 1 5 -0.009
2 1 5 0.012
2 1 156 -0.612
3 1 5 0.002
3 1 45 -0.167
3 1 5 0.003
3 1 10 -0.052
3 1 5 0.001
3 1 80 -0.194
我要对分组之后所有正负“值”的“计数”求和
答案会像
1 1 15(值为正时的计数总和),
1 1 165(值为负时的计数总和),
2 1 20
2 1 171,
3 1 15
3 1 135
我认为这会(grouped.set_index('Count').groupby(['Cycle','Type'])['Value'].......
有效,但是我无法弄清楚如何为sum()
指定正负值
答案 0 :(得分:1)
如果我理解正确,则可以尝试以下代码,
df= pd.DataFrame (data)
df_negative=df[df['Value'] < 0]
df_positive=df[df['Value'] > 0]
df_negative = df_negative.groupby(['Cycle','Type']).Count.sum().reset_index()
df_positive = df_positive.groupby(['Cycle','Type']).Count.sum().reset_index()
df_combine = pd.concat([df_positive,df_negative]).sort_values('Cycle')
df_combine