Pandasを使って時系列データをグラフ化する方法:分析力アップのコツ

はじめに

時系列データをグラフ化することは、データ分析において非常に重要です。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を使って時系列データをグラフ化する方法と百分位数の計算方法を紹介しました。データ分析においては、時系列データの可視化や分布を知ることが非常に重要です。これらの技術を使って、より効率的なデータ分析を行ってください。