方法
import pandas as pd import numpy as np import seaborn as sns df = pd.DataFrame(np.random.randn(50).reshape(10,5)) corr = df.corr() sns.heatmap(corr, cmap='Blues', annot=True)
將矩陣型簡化為對角矩陣型:
mask = np.zeros_like(corr) mask[np.tril_indices_from(mask)] = True sns.heatmap(corr, cmap='Blues', annot=True, mask=mask.T)
補充知識:Python【相關矩陣】和【協方差矩陣】
相關係數矩陣
pandas.DataFrame(數據).corr()
import pandas as pd df = pd.DataFrame({ 'a': [11, 22, 33, 44, 55, 66, 77, 88, 99], 'b': [10, 24, 30, 48, 50, 72, 70, 96, 90], 'c': [91, 79, 72, 58, 53, 47, 34, 16, 10], 'd': [99, 10, 98, 10, 17, 10, 77, 89, 10]}) df_corr = df.corr() # 可視化 import matplotlib.pyplot as mp, seaborn seaborn.heatmap(df_corr, center=0, annot=True, cmap='YlGnBu') mp.show()
協方差矩陣
numpy.cov(數據)
import numpy as np matric = [ [11, 22, 33, 44, 55, 66, 77, 88, 99], [10, 24, 30, 48, 50, 72, 70, 96, 90], [91, 79, 72, 58, 53, 47, 34, 16, 10], [55, 20, 98, 19, 17, 10, 77, 89, 14]] covariance_matrix = np.cov(matric) # 可視化 print(covariance_matrix) import matplotlib.pyplot as mp, seaborn seaborn.heatmap(covariance_matrix, center=0, annot=True, xticklabels=list('abcd'), yticklabels=list('ABCD')) mp.show()
補充
協方差
相關係數
EXCEL也能做
CORREL函數
[madbeef ] python seaborn heatmap可視化相關性矩陣實例已經有1096次圍觀