このエントリーをはてなブックマークに追加

Advent Calendar 2013 - 7

Python で解析! - matplotlib - 2

Notebook を使いたいところだが、ブログにコードを書くのにスクリーンショットでは都合が悪いので、ターミナルの ipython を使う。起動時に '--pylab=inline' を付けておくと、'show()' を実行しなくてもチャートが表示されて便利。

$ ipython --pylab=inline

1. データの準備

では、いつもの通りのデータの準備を。今回は pylab もインポートしておく。

import pandas as pd
import pylab as pl

df = pd.DataFrame({
   u'名前': [u'山田', u'鈴木', u'佐藤', u'木村'],
   u'性別': [u'男', u'男', u'女', u'女'] ,
   u'身長': [181, 173, 159, 164],
   u'体重': [79, 71, 51, 52]
})
   体重  名前 性別   身長
0  79  山田    181
1  71  鈴木    173
2  51  佐藤    159
3  52  木村    164

2. 散布図

データを手に入れたら 'とりあえず散布図' ということで。

pl.scatter(df[u'身長'], df[u'体重'])
../../../_images/Fig011.png

この散布図は Pandas でなくても matplotlib に配列を渡して表示できる。

なお、ipython の起動時に pylab を読み込んでいるので、'pl.scatter()' ではなく 'scatter()' として使うこともできるのだが、後々のことを考えて、どのモジュールの機能を使うのかが明らかである 'pl.scatter()' という書き方を選んでいる。

3. 散布図マトリックス

Pandas だとこれが便利。

pd.scatter_matrix(df)
../../../_images/Fig021.png

今回はこんなところで。