使用Python绘制Spearman相关分析热力图(切割上下三角)
如有错误,欢迎交流!
初心不改,依然是GZY最劣代码手
使用相关分析时要先判断数据的属性:
如果数据都是定量数据,则使用Pearson相关分析法;
若数据中有分类数据,则使用Spearman相关分析。
本文中展示基于Spearman相关分析的热力图,并分别做上下三角切割(一般在实验中,我们更倾向于保留下三角)
部分代码如下:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn
data=pd.read_csv("C:/.../xx.csv")#导入数据
col_name=data.columns.values#获取列名
spearman_matrix=[]
#(中间省略一部分Spearman相关分析),此时得到的是完整的热力图矩阵
#保留上三角:
mask=np.zeros_like(spearman_matrix)
for i in range(1,len(mask)):
for j in range(0,i):
mask[i][j]=True
#若要保留下三角,只需将mask[i][j]=True改成mask[j][i]=True
spearman_matrix=pd.DataFrame(spearman_matrix,index=col_name,columns=col_name)#矩阵
seaborn.heatmap(spearman_matrix,annot=True,mask=mask,xticklabels=col_name,yticklabels=col_name)#绘制热力图

因数据暂时保密,此处将图片做马赛克处理。
本文介绍如何使用Python进行Spearman相关分析并绘制切割上下三角的热力图,适用于包含分类数据的情况。文章强调了数据属性判断的重要性,并提供了部分代码示例,虽然关键数据进行了马赛克处理。
3566

被折叠的 条评论
为什么被折叠?



