Python_Spearman相关分析 | 热力图 | 上下三角


使用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相关分析 | 热力图 | 上下三角_第1张图片
因数据暂时保密,此处将图片做马赛克处理。

以上。

你可能感兴趣的:(下定决心努力学python,python,数据分析,图像处理)