リサンプル手法の利用
resampleメソッドは、pandasの1つの関数であり、時系列データをリサンプリングするために使用されます。指定した頻度に基づいて、時系列データを異なる時間頻度に変換することができます。
resampleメソッドの一般的な構文は次の通りです:
dataframe.resample(rule, axis=0, closed=None, label=None, convention='start', kind=None, loffset=None, base=None, on=None, level=None, origin='start_day', offset=None)
解説:
- ルール:リサンプリングされる頻度を示します。これは、時間頻度を文字列形式で表すこともできます。例えば、’D’は毎日を表し、’W’は毎週を表します。また、pandasのDateOffsetオブジェクトで指定することもできます。例えば、pd.DateOffset(days=1)は毎日を表します。
- axis:リサンプリング操作の軸を示すデフォルトは0であり、行に対してリサンプリングを行います。
- 閉区間を表す方法を示すため、デフォルトではNoneで、左開き右閉じを示します。
- ラベル:再サンプリング結果を表示するためのラベルで、 {‘left’、’right’} のいずれかが設定でき、デフォルトはNoneです。
- 慣習:リサンプリングの方法を表示し、デフォルトは「start」で、区間の開始時間をラベルとして使用します。
- kind:リサンプリングアルゴリズムを示すパラメータで、デフォルトはNoneであり、線形補間が使用されます。
- loffsetは、再サンプリング結果の時間オフセットを表します。
- 基準:再標本化された結果の基準時間を示します。
- on:データフレームに対してのみ有効な、再サンプリングが必要な列名を示します。
- level: DataFrame内で複数のインデックスを持つ場合に再サンプリングが必要なインデックスレベル名を示します。
- 起源:再サンプリング結果の開始時間。
- オフセット:再サンプリング結果の時間オフセットを示します。
resample方法を使用した例は次のとおりです:
import pandas as pd
# 创建一个时间序列数据
data = {'date': pd.date_range(start='2021-01-01', end='2021-01-31'),
'value': range(31)}
df = pd.DataFrame(data)
# 将数据按每周进行重采样
df_resampled = df.resample('W', on='date').sum()
print(df_resampled)
実行結果:
value
date
2021-01-03 3
2021-01-10 38
2021-01-17 102
2021-01-24 166
2021-01-31 230
最初に、日付と数値を含むDataFrameを作成し、その後、resampleメソッドを使用してデータを毎週サンプリングし、毎週の数値の合計を計算します。最後に、サンプリング後の結果を印刷します。