年平均気温のヒートマップを作ってみよう(2)

me-el で全国の年平均気温 CSV をダウンロードし、Python の seaborn を使ってヒートマップを作ってみましょう。

前回と何が違うのかということですが、CSV を 2 種類ダウンロードできるようにしました。左(青のボタン)が従来のもので、右(緑のボタン)が行と列を入れ替えた(transpose)ものです。

表計算ソフトで開くとこんな感じです。

元からある機能版の CSV は以下です。

Python 用に hm2.py を作ります。

#pip install pandas matplotlib japanize-matplotlib seaborn

import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib
import seaborn as sns

# CSV を読み込む
data = pd.read_csv('【年別】年平均気温_me-el_trans.csv', skiprows=1)

# 年の列を pandas.Series として取得
index = data["都道府県"]

# 先頭列(都道府県)を削除
data = data.drop("都道府県", axis=1)

# index を変更
data.index = index

# 図を作成
plt.figure()
sns.heatmap(data)
plt.show()

ソースを簡単に解説します。

CSV読み込み時に1行目をスキップし(9行目)、見出し列(“都道府県”)を index として抽出(12行目)した上で、先頭列をカット(15行目)、先程抽出したデータを index としてセット(18行目)します。
あとは、データを渡して描画するだけです。

$ python3 hm2.py