我想詳細說明如下的分組邏輯。鑑於數據幀df
:用均值和計數條件分組
df =
ID GROUP DAY GRADE TIME_1
1 AAA 1 5 20
1 AAA 1 4 19
1 AAA 1 3 21
1 BBB 2 1 10
2 BBB 2 3 13
我需要組行由ID
,GRADE
,GROUP
和DAY
,並計算平均TIME_1
,行數在一組。另外(這是我的問題),我想檢查GRADE
是4還是5,那麼它應該被分組爲正分數,意思是TIME_1
應該按照它計算,否則 - 爲負值。
結果應該是這樣:
result =
GROUP DAY AVG_TIME_1_POSITIVE AVG_TIME_1_NEGATIVE QTY_POSITIVE QTY_NEGATIVE
AAA 1 19.5 21 2 1
BBB 2 0 11.5 0 2
我用這個辦法,但不知道如何GRADE
指定分組條件:
result = df.groupby(['GROUP','GRADE','DAY']).agg({'TIME_1': 'mean',
'ID': 'count'}).reset_index()
沒有你的數據很難回答的問題。是'print(type(mask))'''Series'? – jezrael