Python

Python初学者向け:seabornでHeatmapを描画する方法を基本から解説

この記事はこんな方におススメです
  • WordPressの使い始めたばかりで便利な使い方を知りたい方
  • WordPressを使って手軽にブログを作りたい方
  • WordPressを使って効率よくブログの更新をしたい方

スポンサーリンク

 

▶ matplotlibによる可視化を基本から解説しています。以下の投稿も合わせてご覧ください。

はじめに

今回はHeatmapの描画について基本から解説します。Heatmapは表の各値の大きさによって色分けして描画したものです。視覚的に値の大小や傾向を把握することができます。相関表や混同行列、ピボットテーブルでの集計結果などをヒートマップで表示すると、解釈しやすくなります。

ヒートマップ図の描画

まずはデータの準備をしましょう。今回もseabornにあらかじめ準備されている学習用データセットの「taxis」を使うことにしましょう。

# ライブラリのインポート
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# データの読み込み
df = sns.load_dataset('taxis')
df.head()
学習用データセット:taxis

書式

seabornでheatmapを描く際の書式は以下となります。

sns.heatmap(data)

dataの部分に相関表や混同行列、ピボットテーブルなどを入れます。今回はまず相関表を作って描画してみることにしましょう。

ヒートマップ図の描画

相関表はdf.corr()で作ることができるのでした。これをsns.heatmap()で指定するだけですね。

# 相関表のヒートマップ図
sns.heatmap(df.corr())
相関表のヒートマップ図

簡単に描画することができました。でも、視覚的に捉えられるとはいえ、値があったほうがわかりやすいですね。そんなときには、annot=Trueとすることで表示できます。

# 相関表のヒートマップ図:値を表示
sns.heatmap(df.corr(),annot=True)
相関表のヒートマップ図:値を表示

ヒートマップのカラーマップを変えることもできます。cmapで指定します。やってみましょう。

# 相関表のヒートマップ図:値を表示、cmapを指定
sns.heatmap(df.corr(),annot=True,cmap='coolwarm')
相関表のヒートマップ図:値を表示、cmapを指定

これで相関の大小が一発でわかりますね。色と値で瞬時に判断することができます。次にピボットテーブルをヒートマップにする場合も見ておきましょう。まずはピボットテーブルで集計しましょう。

# ピボットテーブルで集計
df_pivot = pd.pivot_table(values='tip', index='pickup_borough', columns='dropoff_borough' ,data=df)
df_pivot = df_pivot.fillna(0)
df_pivot
ピボットテーブルによる集計結果

このような表になっていれば、ヒートマップは簡単ですね。sns.heatmap()で指定するだけですね。

# ピボットテーブルをヒートマップで表示
sns.heatmap(df_pivot,annot=True,cmap='coolwarm')
ピボットテーブルをヒートマップで表示
スポンサーリンク

まとめ

今回はヒートマップの描画方法を扱いました。sns.heatmap(data)でdataの部分に表形式のデータを指定するだけですね。ヒートマップに数字も表示しておいた方がわかりやすいです。annot=Trueで指定するのでしたね。その他、カラーマップの指定などいろいろ試してみてください。

コメント

タイトルとURLをコピーしました