groupby関数でDataFrameのindexを時間別に集計する

スポンサーリンク

ライブラリを読み込む

import io
import datetime
import pandas as pd

DataFrameのindexを時間別に集計する

#サンプルデータ
data=[
["2023-01-01 01:00:00", 1],
["2023-02-01 01:30:00", 2],
["2023-03-01 02:00:00", 3]
]

columns=["time", "no"]

df=pd.DataFrame(data=data, columns=columns)

df["time"]=pd.to_datetime(df["time"]) #datetime型に変換

df=df.set_index("time") #time列をindexに代入

df.groupby(lambda x:datetime.time(x.hour)).count() #時間別集計

gropuby()に関数を指定すると、インデックスを引数として呼び出され、関数が同じ値を返した行は、グループとしてまとめられます。

Python
スポンサーリンク
シェアする
cccをフォローする

コメント

タイトルとURLをコピーしました