searborn入門第3回目、「ヒートマップとクラスターマップ」
こんにちは、ワタルです。
さっと見て、「あぁそうだったそうだった」と確認できるハンドブックのような存在を目指して。
searborn入門第3回目、「ヒートマップとクラスターマップ」です。
はじめに
このエントリでは、seabornのサンプルデータを用いてヒートマップとクラスターマップを描く手法について学びます。 以下の関数を学習することができます。
sns.load_dataset("flight_dframe")(サンプルデータの取得) dataframe.pivot('a','b','c')(ピボットテーブルに形成) seaborn.heatmap()(ヒートマップを描く) seaborn.clustermap()(クラスターマップを描く)
- はじめに
- おまじない
- サンプルデータの取得
- dataframe.pivot('a','b','c')(ピボットテーブルに形成)
- seaborn.heatmap()(ヒートマップを描く)
- seaborn.clustermap()(クラスターマップを描く)
おまじない
import numpy as np from numpy.random import randn import pandas as pd from scipy import stats import matplotlib as mpl import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline
サンプルデータの取得
#Seabornにサンプルデータがあります。 flight_dframe = sns.load_dataset("flight_dframe")
または、Githubから取得することもできます。 https://github.com/mwaskom/seaborn-data/blob/master/flights.csv
csvの場合は、pd.read_csv("tips.csv")で読み込むことができます。
取得したdataframeを表示します。
flight_dframe.head() >>> year month passengers 0 1949 January 112 1 1949 February 118 2 1949 March 132 3 1949 April 129 4 1949 May 121
dataframe.pivot('a','b','c')(ピボットテーブルに形成)
第一引数は、index 第二引数は、columns 第三引数は、values を意味しています。
flight_dframe = flight_dframe.pivot('month','year','passengers') flight_dframe >>> year 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 month April 129 135 163 181 235 227 269 313 348 348 396 461 August 148 170 199 242 272 293 347 405 467 505 559 606 December 118 140 166 194 201 229 278 306 336 337 405 432 February 118 126 150 180 196 188 233 277 301 318 342 391 January 112 115 145 171 196 204 242 284 315 340 360 417 July 148 170 199 230 264 302 364 413 465 491 548 622 June 135 149 178 218 243 264 315 374 422 435 472 535 March 132 141 178 193 236 235 267 317 356 362 406 419 May 121 125 172 183 229 234 270 318 355 363 420 472 November 104 114 146 172 180 203 237 271 305 310 362 390 October 119 133 162 191 211 229 274 306 347 359 407 461 September 136 158 184 209 237 259 312 355 404 404 463 508 December 118 140 166 194 201 229 278 306 336 337 405 432
seaborn.heatmap()(ヒートマップを描く)
#引数cmapは色の指定 カラーコードはこちら https://matplotlib.org/examples/color/colormaps_reference.html #annotにTrueを指定するとそれぞれの値を表示します #fmtは出力フォーマットを指定しています sns.heatmap(flight_dframe,cmap='OrRd', annot=True, fmt='d') >>>
中心を指定して、色を変える
ここでは、April,1955を中心に描いてみます。
sns.heatmap(flight_dframe, center=flight_dframe.loc['April ',1955],cmap='bwr') >>>
seaborn.clustermap()(クラスターマップを描く)
ここでは、データを規格化した結果を描画します。 これは、似たものを分類するクラスター分析を行った結果になります。
sns.clustermap(flight_dframe,cmap='OrRd', standard_scale=1)
今回は、少し短いですが、seabornのサンプルデータを用いてヒートマップとクラスターマップを描く手法について学びました。
お疲れ様でした!
それじゃー、また。