Python Seaborn热力图可视化相关性矩阵与协方差矩阵详解

山海之间
山海之间
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍如何使用Python的Seaborn库绘制热力图,可视化数据的相关性矩阵与协方差矩阵。通过pandas.DataFrame.corr()计算相关系数,利用numpy.cov()计算协方差,并结合mask参数展示对角矩阵形式。文章包含完整代码示例,涵盖从数据生成、矩阵计算到热力图绘制的完整流程,同时简要提及Excel中的实现方式,帮助读者快速掌握数据相关性可视化的技巧。

使用Seaborn绘制相关性矩阵热力图

方法


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中的相关系数计算

EXCEL也能做

CORREL函数

以上这篇python seaborn heatmap可视化相关性矩阵实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表