Python

Python,第1张


使用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)#绘制热力图


因数据暂时保密,此处将图片做马赛克处理。

以上。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/731845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存