Pythonのpandasメソッド resample

2023年10月9日

pandasresampleメソッドは、時系列データをリサンプリング(再サンプリング)するための強力なツールです。リサンプリングは、時系列データの頻度を変更したり、集計したりするプロセスです。これは、データの周期的なパターンを把握したり、データの可視化や統計的な分析を行う際に役立ちます。

resampleメソッドの基本的な構文は以下です:

python
resampled = df.resample(rule, how=None, axis=0)

主な引数は以下です:

  • rule: リサンプリングのルールを指定します。リサンプリングの頻度を示す文字列(例: “D"は日次、"H"は時間単位など)や、pandasDateOffsetオブジェクトを指定します。
  • how: リサンプリング時の集計方法を指定します。デフォルトではNoneで、データの集計を行いません。代表的な集計方法には “sum"、"mean"、"max"、"min" などがあります。
  • axis: リサンプリングを行う軸を指定します。0は行を、1は列をリサンプリングします。

以下はいくつかの具体的な例です:

python
import pandas as pd
import numpy as np

# 日次の時系列データを作成する
date_rng = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')
data = {'value': np.arange(10)}
df = pd.DataFrame(data, index=date_rng)

# 週次のリサンプリングを行う
weekly_resampled = df.resample('W').sum()

# 1時間ごとの平均値にリサンプリングする
hourly_resampled = df.resample('H').mean()

# 月次の最大値にリサンプリングする
monthly_resampled = df.resample('M').max()

これらの例では、resampleメソッドを使用して、日次の時系列データを週次、1時間ごと、月次にリサンプリングしています。リサンプリングは、データのサイズを変更し、データのパターンやトレンドを分析しやすくするために使用されます。

resampleメソッドは、時系列データの集計、可視化、分析において非常に便利です。時間ごとのデータを集計したり、データの周期的なパターンを理解したりするのに役立ちます。