Python
numpy
matplotlib
pandas
urllib

相関行列

「新国民生活指標データ」を例に説明します。

# 数値計算やデータフレーム操作に関するライブラリをインポートする
import numpy as np
import pandas as pd
from pandas.tools import plotting # 高度なプロットを行うツールのインポート
# 「#」(シャープ)以降の文字はプログラムに影響しません。
# 図やグラフを図示するためのライブラリをインポートする。
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
%matplotlib inline
# URL によるリソースへのアクセスを提供するライブラリをインポートする。
# import urllib # Python 2 の場合
import urllib.request # Python 3 の場合
url = 'https://raw.githubusercontent.com/maskot1977/ipython_notebook/master/toydata/PLIlive_dataJ.txt'
# 指定したURLからリソースをダウンロードし、名前をつける。
# urllib.urlretrieve(url, 'PLIlive_dataJ.txt') # Python 2 の場合
urllib.request.urlretrieve(url, 'PLIlive_dataJ.txt') # Python 3 の場合
# データの読み込み
df = pd.read_csv('PLIlive_dataJ.txt', sep='\t', index_col=0) 
df
df.T
# 相関行列
df.corr()
corrcoef = df.corr()
fig = plt.figure(figsize=(12, 10))
plt.imshow(corrcoef, interpolation='nearest', cmap=plt.cm.coolwarm)
plt.colorbar()
tick_marks = np.arange(len(corrcoef))
plt.xticks(tick_marks, corrcoef.index, rotation=90)
plt.yticks(tick_marks, corrcoef.index)
plt.tight_layout()
# 相関行列
df.T.corr()
corrcoef = df.T.corr()
plt.figure(figsize=(12, 10))
plt.imshow(corrcoef, interpolation='nearest', cmap=plt.cm.coolwarm)
plt.colorbar()
tick_marks = np.arange(len(corrcoef))
plt.xticks(tick_marks, corrcoef.columns, rotation=90)
plt.yticks(tick_marks, corrcoef.columns)
plt.tight_layout()