1
我有以下數據:如何按小時對數值進行分組?
df =
MONTH DAY HOUR DURATION
1 1 7 20
1 1 7 21
1 2 7 20
1 2 8 22
2 1 7 19
2 1 8 25
2 1 8 29
2 2 8 27
我想要得到的平均DURATION
通過HOUR
分組和平均超過MONTH
和DAY
。換句話說,我想知道什麼是DURATION
每HOUR
。
這是我現在的代碼。如果我從df.groupby(['MONTH','DAY','HOUR','DURATION'])
刪除'MONTH','DAY'
,那麼我得到更高的值DURATION
,這是不正確的。所以我決定保留'MONTH','DAY'
。
grouped = df.groupby(['MONTH','DAY','HOUR','DURATION']).size() \
.groupby(level=['HOUR','DURATION']).mean().reset_index()
grouped
但是,無論如何,它給了我不正確的輸出。這是一些隨機數據的例子(可以看出,小時8
重複了很多次,也出現了列0
)。
HOUR DURATION 0
0 7 122.0 1.0
1 8 77.0 1.0
2 8 82.0 1.0
3 8 83.0 1.0
'df.groupby( 「小時」)DURATION.mean()'? – Psidom
@Psidom:如果我需要在'DURATION'之外添加更多變量,該怎麼辦?我可以做'df.groupby(「HOUR」)。[「DURATION_1」,「DURATION_2」]。mean()'? – Dinosaurius