pandas.DataFrame.corr求解变量列相关系数与可视化展示

pandas.DataFrame.corr求解变量列相关系数与可视化展示

1常见的三种相关系数

  • Pearson相关系数:度量两变量之间的线性相关性;对异常值敏感且对变量数据分布有要求。
  • Spearman秩相关系数:非参数统计方法,利用数据秩计算相关系数,对变量数据分布没有要求,具有稳健性。
  • Kendall秩相关系数:适用于两个变量均为有序分类的情况,构造的思想为协同思想。
    具体可以参考:统计学习–三种常见的相关系数

2 pandas.DataFrame.corr用法

DataFrame.corr(method=‘pearson’, min_periods=1)[source]

  • 数据框.corr方法将会计算数据框每个列两两之间的相似度,返回相关系数矩阵,类型为数据框。
  • Series.corr(other Series) 则返回指定的两列之间的相关系数。具体例子如下:
import numpy as np
import pandas as pd
import seaborn as sns
%config InlineBackend.figure_format = 'svg'

#导入数据
df=pd.read_csv('D:/pylearn/data/iris.csv')

#删除分类变量
df1=df.drop('variety',1)
print('相关系数矩阵为:\n',df1.corr())
print('sepal_length与sepal_width的相关系数为:\n',df1['sepal_length'].corr(df1['sepal_width']))

运行结果:

#相关系数矩阵为:
               sepal_length  sepal_width  petal_length  petal_width
sepal_length      1.000000    -0.117570      0.871754     0.817941
sepal_width      -0.117570     1.000000     -0.428440    -0.366126
petal_length      0.871754    -0.428440      1.000000     0.962865
petal_width       0.817941    -0.366126      0.962865     1.000000
sepal_length与sepal_width的相关系数为:
 -0.11756978413300198

3 结果可视化

#可视化
plt.figure()
sns.heatmap(df1.corr(),annot=True, vmax=1, square=True,cmap='gist_heat')
plt.show()

运行结果:
在这里插入图片描述
注:以上数据来自python自带数据,实际需要结合业务分析数据。
参考资料:
1.统计学习–三种常见的相关系数
2.python分析多个特征的相关性并绘制热力图
3.pandas.DataFrame.corr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值