基本
 カテゴリ値は数値に変換すること
 正の相関=ある値が高く(低く)なると、もう一方の値も高く(低く)なる傾向
 負の相関=ある値が高く(低く)なると、もう一方の値が低く(高く)なる傾向

使用するライブラリ・関数
 pandas.corr() pandas.style#builtin-styles
 seaborn.heatmap()
 matplotlib.pyplot

参照サイト
 kaggle Titanic – Machine Learning from Disaster
 note.nkmk.me pandas.DataFrameの各列間の相関係数を算出、ヒートマップで可視化
 Hatena Blog pandasのstyleでテーブル出力をわかりやすくする


数値カラムのみ

# IDに相当するカラムをドロップ
df1 = df.drop("PassengerId",axis=1).select_dtypes([int,float])

# 相関係数を算出
df_corr1 = df1.corr()

# ヒートマップを描画
plt.figure()
sns.heatmap(df_corr1, cmap="YlGnBu", annot=True, fmt=".1f", square=True)
plt.title('correspondence')
plt.show()

# 相関係数マトリックス
df_corr1.style.highlight_max(color="gray")

数値カラム+カテゴリ値カラム(LE処理)

# 結合先 df2 を事前作成
df2 = df1

# カテゴリ値カラムをラベルエンコーディング
df1_obj = df1.select_dtypes(include="O")

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
col_name = df1_obj.columns
for e in col_name:
    df2[e] = le.fit_transform(df1_obj[e])

# ヒートマップを描画
df_corr2 = df2.corr()
plt.figure()
sns.heatmap(df_corr2, cmap="YlGnBu", annot=True, fmt=".1f", square=True)
plt.title('correspondence')
plt.show()

# 相関係数マトリックス
df_corr2.style.highlight_max(color="gray")