ミリ秒単位の時系列データを扱っていた時、秒単位で集計した際に重複する時間が複数発生した。
同じ時間の値は平均値を取りたくなったが、dupulicatedやdrop_duplicatedでは上手く出来なかった。
以下の書籍の405ページから始まる章を参考に、groupbyで時間単位のdfを作ってaggregateすることで解決できた。
time_col = ["date", "hour", "minute", "second"]
df = df.groupby(time_col).aggregate(np.mean)
参考
pandas.DataFrame.groupby — pandas 2.2.3 documentation
pandas.DataFrame.aggregate — pandas 2.2.3 documentation
コメント