Pandasのメソッド説明 resample

Pandasのresampleメソッドは、時系列データをリサンプリング(再サンプリング)するための強力なツールです。リサンプリングは、元の時系列データのサンプリング頻度を変更したり、集約したりするプロセスを指します。resampleメソッドを使用することで、時系列データのサンプリング頻度を変更し、新しいサンプル期間内での統計情報を計算できます。以下は、DataFrame.resampleメソッドの一般的な使い方と主要なパラメータの説明です。

基本的な使用法:

python
import pandas as pd
import numpy as np
import datetime

# サンプル時系列データを作成
date_rng = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')
data = {'values': np.random.randn(len(date_rng))}
df = pd.DataFrame(data, index=date_rng)

# デイリーサンプルを週次サンプルにリサンプリング
weekly_resampled = df.resample('W').mean()

# リサンプリング後のデータを表示
print(weekly_resampled)

この例では、元のデイリーサンプルのデータを週次サンプルにリサンプリングして、週ごとの平均値を計算しています。

リサンプリングの頻度(Freq):

resampleメソッドのパラメータruleにリサンプリングの頻度(リサンプリングルール)を指定します。これは、日次、週次、月次、年次などの頻度を指定できます。例えば、'D'は日次、'W'は週次、'M'は月次を意味します。

集約関数:

リサンプリング時に適用する集約関数は、デフォルトで平均値(mean)ですが、resampleメソッドのaggパラメータを使用して他の統計的な関数(合計、最小値、最大値など)を指定することもできます。

python
# 週次リサンプリング時に合計値を計算
weekly_resampled_sum = df.resample('W').agg('sum')

時間オフセット:

リサンプリングでは、オフセット(offset)を指定して、リサンプリング期間の開始日を調整することもできます。たとえば、週の開始日を月曜日に設定する場合、'W-MON'を使用します。

python
# 週の開始日を月曜日に設定してリサンプリング
weekly_monday_start = df.resample('W-MON').mean()

Pandasのresampleメソッドは、時系列データを異なる頻度で処理し、データの可視化や分析のためにサンプルを集約する際に非常に便利です。特に、時間系列データを日、週、月、年単位で集計する場合に役立ちます。