如何将已有协方差表格转为Pandas DataFrame并绘制协方差矩阵
导入预计算的协方差矩阵并绘制可视化图
1. 导入所需库
先加载数据处理和绘图的依赖库:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt
2. 将协方差表格导入为DataFrame
把你已有的协方差表格保存为CSV格式(比如从谷歌表格下载为CSV),然后用pandas读取,同时将第一列设为行索引,保证DataFrame的行和列都是变量名称:
# 替换为你的CSV文件本地路径 df_cov = pd.read_csv("协方差矩阵.csv", index_col=0)
3. 绘制协方差矩阵热力图
直接基于导入的DataFrame绘制和参考示例风格一致的热力图:
# 设置字体缩放,适配26个变量的标签显示 sns.set(font_scale=0.7) # 创建画布 plt.figure(figsize=(14, 12)) # 绘制热力图,显示数值标注、配色方案设为冷暖色 heatmap = sns.heatmap( df_cov, annot=True, # 显示单元格内的协方差数值 fmt=".2f", # 数值保留两位小数 cmap="coolwarm", # 配色方案 cbar=True, # 显示颜色条 square=True # 单元格设为正方形 ) # 设置图表标题和轴标签 heatmap.set_title('变量协方差矩阵', fontdict={'fontsize':16}, pad=25) heatmap.set_xlabel('变量') heatmap.set_ylabel('变量') # 调整布局,避免标签重叠 plt.tight_layout() plt.show()
说明
你参考的示例是基于原始数据计算协方差后绘制,而这里直接用你预计算好的、已经是矩阵形式的DataFrame,通过seaborn.heatmap就能实现相同效果——只要保证DataFrame的行和列名对应变量,矩阵值是协方差即可。
内容的提问来源于stack exchange,提问作者Nikko
相关产品推荐
相关产品推荐

