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

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

目录

    • pandas.DataFrame.corr求解变量列相关系数与可视化展示
  • 1常见的三种相关系数
  • 2 pandas.DataFrame.corr用法
  • 3 结果可视化

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()

运行结果:
pandas.DataFrame.corr求解变量列相关系数与可视化展示_第1张图片
注:以上数据来自python自带数据,实际需要结合业务分析数据。
参考资料:
1.统计学习–三种常见的相关系数
2.python分析多个特征的相关性并绘制热力图
3.pandas.DataFrame.corr

你可能感兴趣的:(pandas基础,python,pandas,数据分析)