Pythonで日付データを時系列で分析する
売上データやアクセスログ、センサーデータなど、多くの業務データには日付や時刻の情報が含まれています。これらのデータを時系列で分析することで、売上の推移や利用状況の変化、季節ごとの傾向などを把握できます。
Pythonでは、Pandasライブラリを利用することで日付データを簡単に扱うことができます。日付型への変換や期間ごとの集計、グラフによる可視化など、多くの機能が用意されています。
本記事では、Pandasを使った日付データの時系列分析の基本的な方法について解説します。
サンプルデータを作成する
まずは日付付きのデータを作成します。
import pandas as pd
df = pd.DataFrame({
"日付": [
"2025-01-01",
"2025-01-02",
"2025-01-03",
"2025-01-04"
],
"売上": [1000, 1200, 900, 1500]
})
print(df)
この状態では日付は文字列として扱われています。
日付型へ変換する
時系列分析を行うためにdatetime型へ変換します。
df["日付"] = pd.to_datetime(df["日付"])
print(df.dtypes)
日付データとして認識されることで、さまざまな日時処理が可能になります。
日付をインデックスに設定する
時系列分析では日付をインデックスに設定することが一般的です。
df.set_index("日付", inplace=True)
print(df)
これにより日付を基準とした集計や分析が行いやすくなります。
月単位で集計する
resample()を利用すると期間ごとの集計が可能です。
monthly_sales = df.resample("M").sum()
print(monthly_sales)
月ごとの売上合計を簡単に算出できます。
移動平均を計算する
短期的な変動を平滑化するために移動平均を利用できます。
df["移動平均"] = (
df["売上"]
.rolling(window=3)
.mean()
)
print(df)
売上推移のトレンドを把握する際に役立ちます。
グラフで時系列データを可視化する
Matplotlibを利用して売上推移をグラフ表示できます。
import matplotlib.pyplot as plt
df["売上"].plot()
plt.title("Sales Trend")
plt.xlabel("Date")
plt.ylabel("Sales")
plt.show()
グラフ化することでデータの変化を直感的に把握できます。
まとめ
PythonのPandasを利用すると、日付データの変換や期間集計、移動平均の計算などを簡単に実装できます。時系列分析は売上予測や業務改善、アクセス解析など幅広い分野で活用される重要な技術です。まずは日付型への変換と基本的な集計方法を習得し、実践的なデータ分析に活かしていきましょう。
コメント