はじめに
時系列データをグラフ化することは、データ分析において非常に重要です。PandasはPythonのライブラリで、時系列データを扱う際に便利な機能が豊富に用意されています。本記事では、Pandasを使って時系列データをグラフ化する方法を紹介します。
時系列データの前処理:日付データの変換とインデックス設定
時系列データを扱う場合、日付データを扱えるようにする必要があります。Pandasでは、日付データを扱うためのdatetime型があります。
import pandas as pd # サンプルデータの作成 data = {'date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'], 'value': [10, 20, 30, 40, 50]} df = pd.DataFrame(data) # 日付データの変換 df['date'] = pd.to_datetime(df['date']) # インデックスの設定 df = df.set_index('date')
上記のコードでは、サンプルデータを作成し、date列をdatetime型に変換し、date列をインデックスとして設定しています。
Pandasでの基本的なグラフ描画:plot()関数の使い方
Pandasでは、plot()関数を使って簡単にグラフを描画することができます。plot()関数を使う前に、matplotlibライブラリをimportする必要があります。
import matplotlib.pyplot as plt # 折れ線グラフの描画 df.plot() plt.show()
上記のコードでは、dfの折れ線グラフを描画し、plt.show()でグラフを表示しています。
移動平均線の追加:時系列データのトレンド分析
移動平均線を追加することで、時系列データのトレンドを分析することができます。
# 移動平均線の計算 df['MA'] = df['value'].rolling(window=3).mean() # グラフの描画 df.plot() plt.show()
上記のコードでは、移動平均線を計算し、MA列に代入しています。そして、dfのグラフを描画しています。
複数の時系列データを一つのグラフに表示:複数の要素の比較分析
複数の時系列データを一つのグラフに表示することで、複数の要素を比較分析することができます。
# サンプルデータの作成 data1 = {'date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'], 'value': [10, 20, 30, 40, 50]} data2 = {'date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05'], 'value': [5, 15, 25, 35, 45]} df1 = pd.DataFrame(data1) df2 = pd.DataFrame(data2) # 日付データの変換 df1['date'] = pd.to_datetime(df1['date']) df2['date'] = pd.to_datetime(df2['date']) # インデックスの設定 df1 = df1.set_index('date') df2 = df2.set_index('date') # グラフの描画 df1['value'].plot() df2['value'].plot() plt.legend(['data1', 'data2']) plt.show()
上記のコードでは、2つのサンプルデータを作成し、それぞれのグラフを描画しています。そして、plt.legend()で各グラフのラベルを設定しています。
まとめ
本記事では、Pandasを使って時系列データをグラフ化する方法と百分位数の計算方法を紹介しました。データ分析においては、時系列データの可視化や分布を知ることが非常に重要です。これらの技術を使って、より効率的なデータ分析を行ってください。