pandasで日付ごとに集約する場合、resample
を使うと非常に楽です。
注意点としては、indexに入れておく必要があるところでしょうか。
date_trunc的な挙動
import pandas as pd #365日のデータ one_year = pd.Series(1,index = pd.date_range(start='2020-01-01',periods=365) #月で集約 one_year.resample('M').sum() #二週間で集約、みたいなこともできる one_year.resample('2W').sum()
Qを渡すことで四半期単位もできます
datetime_trunc的な挙動
import pandas as pd #30秒おきを1日分 one_day = pd.Series(1,index = pd.date_range(start='2020-01-01,end='2020-01-02','freq='30S') #時間ごと one_day.resample('H').sum()
ただ、ログデータの時間、みたいなキーにできない一情報のときは、
col.hour
とかを使ってgroupbyが無難ですかね