今回はPythonのPandasライブラリを使ってCSVデータの相関係数を求め、その結果をヒートマップで可視化(画像出力)させてみます。手順としてはPythonコード(heatmap.py)を作成してそれを実行してみます。
コードの大きな流れとしては
- 1. CSVファイルを開いてデータを読み込む
- 2. corr()関数を使って相関係数を求める
- 3. 結果を可視化(画像出力)
では、進めてみます。
■ 1. Pythonコード
- ファイル名:heatmap.py
heatmap.py
import pandas as pd # Pandasライブラリをpdとして読み込む
import seaborn as sbn # Seabornライブラリをsbnとして読み込む
import matplotlib.pyplot as plt # ヒートマップ画像の画像保存のために読み込む
# CSVファイル (data.csv)を読み込む
df = pd.read_csv('./data.csv')
#読み込んだデータの相関係数を求める
df_corr = df.corr()
#結果をSeabornで可視化する
sbn.heatmap(df_corr, annot=True)
#可視化したものを画像保存する
plt.savefig("./heatmap.png", bbox_inches="tight", dpi=120)
■ 2. CSVデータ
-
ファイル名:data.csv
2021/1/1〜12/31までの東京都大田区羽田地域の気温と降水量、風速のデータ
2. 入手したcsvファイルをUnixデータ形式に変換します。
$ unix2dos data.csv
■ 3. 実行
$ python heatmap.py
■ 4. 結果
ls -l heatmap.png
-rw-rw-r-- 1 ishimatsu ishimatsu 22746 Jun 25 11:13 heatmap.png
結果ファイルheatmap.pngが出力されている。
画像ファイルを開くとヒートマップが表示される。
相関係数がヒートマップで可視化されました。
使用したデータから相関関係は全体的に低いですが、ごくわずかに少なからず羽田地域では降水量と風速は互いに影響しあっていると思われます。
以上になります。
このページが皆様の何かにお役に立てれば幸いです。
|