Python Pandasでデータセットを可視化して水平トレンド(定常トレンド)を表示する方法
水平トレンド(Horizontal Trend)は、「定常トレンド(Stationary Trend)」とも呼ばれます。これは、時間の経過とともにデータが特定の方向へ上昇・下降せず、ほぼ一定の水準で推移する状態を指します。本記事では、PandasとMatplotlibを使ってCSVデータセットをプロットし、水平トレンドを視覚的に確認する手順を解説します。
使用するデータセット
ここでは、サンプルとして次のデータセット「SalesRecords3.csv」を使用します。このファイルには販売記録の日付や数値データが含まれています。
必要なライブラリのインポート
まず、データ操作用のpandasと、グラフ描画用のmatplotlib.pyplotをインポートします。
import pandas as pd import matplotlib.pyplot as plt
CSVファイルの読み込み
read_csv()メソッドを使って、CSVファイルからデータを読み込み、Pandas DataFrameに格納します。
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords3.csv")
日付列をdatetime型に変換する
時系列データとして正しく扱うために、「Sold_On」列をdatetimeオブジェクトに変換します。これにより、日付をインデックスとして設定できるようになります。
dataFrame['Sold_On'] = pd.to_datetime(dataFrame['Sold_On'])
続いて、日付列をDataFrameのインデックスに設定します。
dataFrame = dataFrame.set_index('Sold_On')
グラフの作成
plot()メソッドを呼び出すだけで、DataFrame内の数値データが自動的に折れ線グラフとして描画されます。水平トレンドの場合、線は上下せず横ばいに推移します。
dataFrame.plot()
完全なコード例
以下に、ここまでの手順をまとめた完全なコードを示します。
import pandas as pd
import matplotlib.pyplot as plt
# CSVファイルからデータを読み込み、Pandas DataFrameに格納
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesRecords3.csv")
print("Reading the CSV file...\n", dataFrame)
# 日付列をdatetimeオブジェクトに変換
dataFrame['Sold_On'] = pd.to_datetime(dataFrame['Sold_On'])
# 「Sold_On」列をインデックスに設定
dataFrame = dataFrame.set_index('Sold_On')
# グラフを作成して表示
dataFrame.plot()
plt.show()
実行結果
上記のコードを実行すると、次のようなグラフが出力されます。データが一定の水準で推移しているため、水平(横ばい)のトレンドラインが確認できます。

まとめ
Pandasのplot()メソッドを使えば、わずか数行のコードで時系列データを簡単に可視化できます。日付列をdatetime型に変換し、インデックスとして設定することが、正確な時系列グラフを描くための重要なポイントです。水平トレンドの確認は、データが安定しているかどうかを判断する際に役立ちます。
-
【Python・pandas】グループ化された水平棒グラフをプロットし、すべての列を表示する方法
pandasのDataFrameからグループ化された水平棒グラフを作成し、すべての列を一度に表示したい場合は、plot.barh()メソッドを使います。x軸・y軸の値を個別に指定しないことで、DataFrame内の数値型の列が自動的に検出され、それぞれがグループ化された状態で描画されます。必要なライブラリのインポートまず、データ操作用のpandasと、グラフ描画用のmatplotlibをインポートします。import pandas as pd import matplotlib.pyplot as pltサンプル用のDataFrameを作成するここでは、「車種名」「排気量」「登録価格」の3つの
-
Seabornのlineplot()でデータセット全体を渡して折れ線グラフを描画する方法(Python・Pandas)
Seabornのラインプロット(lineplot)は、色や線種などのセマンティックなグルーピングを柔軟に指定できる折れ線グラフを描画するための機能です。これには seaborn.lineplot() を使用します。通常は x 軸・y 軸に使う列を指定しますが、データセット全体をそのまま渡したい場合は、x と y の値を明示せず、lineplot() に DataFrame 全体を設定するだけで描画できます。使用するデータセットここでは、以下のCSVファイル「Cricketers2.csv」をデータセットとして使用します。必要なライブラリのインポートまず、必要なライブラリをインポートします。im