pandasを使用して相関行列をプロットする 質問する

pandasを使用して相関行列をプロットする 質問する

膨大な数の特徴を持つデータ セットがあるため、相関行列の分析が非常に困難になっています。pandasdataframe.corr()ライブラリの関数を使用して取得した相関行列をプロットしたいと思います。この行列をプロットするために、pandas ライブラリによって提供される組み込み関数はありますか?

ベストアンサー1

使用できますpyplot.matshow()からmatplotlib

import matplotlib.pyplot as plt

plt.matshow(dataframe.corr())
plt.show()

編集:

コメントには、軸の目盛りラベルを変更する方法についてのリクエストがありました。これは、より大きな図のサイズで描画され、データフレームに一致する軸ラベルと、カラー スケールを解釈するためのカラーバー凡例があるデラックス バージョンです。

ラベルのサイズと回転を調整する方法を含め、カラーバーとメインの図が同じ高さになる図の比率を使用しています。


編集 2: df.corr() メソッドは数値以外の列を無視するため、.select_dtypes(['number'])ラベルの不要なシフトを避けるために、x ラベルと y ラベルを定義するときに使用する必要があります (以下のコードに含まれています)。

f = plt.figure(figsize=(19, 15))
plt.matshow(df.corr(), fignum=f.number)
plt.xticks(range(df.select_dtypes(['number']).shape[1]), df.select_dtypes(['number']).columns, fontsize=14, rotation=45)
plt.yticks(range(df.select_dtypes(['number']).shape[1]), df.select_dtypes(['number']).columns, fontsize=14)
cb = plt.colorbar()
cb.ax.tick_params(labelsize=14)
plt.title('Correlation Matrix', fontsize=16);

相関図の例

おすすめ記事