import pandas as pd
df = pd.read_csv('data.csv', parse_dates=['売上日'], index_col=['売上日'])
df.head()
Pythonで、データフレームの日時型のカラムを軸に期間ごとの集約をする方法です。
使用するメソッドは、pandasのresampleメソッドです。
CSVデータを、時系列データになるようにインデックスを日時型に指定して読み込みます。
このようなデータフレームです。
df.index
インデックスのデータ型を確認してみましょう。
このように日時型であることがわかります。
df.resample('M').sum()
月ごとに集約して、合計を出してみましょう。
第一引数に集約したい頻度、つまり集約したい周期を指定します。
日次ならD、月次ならM、四半期ならQです。
集計はsumです。実行します。
表示できました。
df.resample('2M').mean()
2ヶ月ごとの平均であればこのようにして求めることができます。
df.resample('M')
また、resampleメソッドは、集約関数とセットで使用します。
このままではただのオブジェクトであることがわかります。
df1 = df.reset_index()
df1.head()
では、このようにインデックス以外に日時型のカラムがある場合はどうすればよいでしょうか。
df1.resample('Q', on='売上日').sum()
この場合は、引数onに日時型のカラムを指定することで集約することができます。