pandas中DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数、Kendall Tau相关系数和spearman秩相关)。

pandas相关系数-DataFrame.corr()参数详解

DataFrame.corr(method='pearson', min_periods=1)

参数说明:

method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}

pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性数据便会有误差。

kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据

spearman:非线性的,非正太分析的数据的相关系数

min_periods:样本最少的数据量

返回值:各类型之间的相关系数DataFrame表格。

#导入依赖库

import numpy as np

import pandas as pd

data = pd.DataFrame({'A':np.random.randint(1, 100, 10),

'B':np.random.randint(1, 100, 10),

'C':np.random.randint(1, 100, 10)})

data.corr() # 计算pearson相关系数

data.corr('kendall') # Kendall Tau相关系数

data.corr('spearman') # spearman秩相关

计算积距pearson相关系数,连续性变量才可采用;计算Spearman秩相关系数,适合于定序变量或不满足正态分布假设的等间隔数据; 计算Kendall秩相关系数,适合于定序变量或不满足正态分布假设的等间隔数据。

计算相关系数:当资料不服从双变量正态分布或总体分布未知,或原始数据用等级表示时,宜用 spearman或kendall相关

Pearson 相关复选项积差相关 计算连续变量或是等间距测度的变量间的相关分析

Kendall 复选项 等级相关 计算分类变量间的秩相关,适用于合并等级资料

Spearman 复选项 等级相关 计算斯皮尔曼相关,适用于连续等级资料

注:

1若非等间距测度的连续变量 因为分布不明-可用等级相关/也可用Pearson 相关,对于完全等级离散变量必用等级相关

2当资料不服从双变量正态分布或总体分布型未知或原始数据是用等级表示时,宜用 Spearman 或 Kendall相关。

3 若不恰当用了Kendall 等级相关分析则可能得出相关系数偏小的结论。则若不恰当使用,可能得相关系数偏小或偏大结论而考察不到不同变量间存在的密切关系。对一般情况默认数据服从正态分布的,故用Pearson分析方法。

两个连续变量间呈线性相关时,使用Pearson积差相关系数,用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。(前提:作散点图主观判断下先)。按照高中数学水平来理解, 它很简单, 可以看做将两组数据首先做Z分数处理之后, 然后两组数据的乘积和除以样本数。

按照大学的线性数学水平来理解, 它比较复杂一点,可以看做是两组数据的向量夹角的余弦.

Spearman相关系数又称秩相关系数,是利用两变量的秩次大小作线性相关分析,对原始变量的分布不作要求,属于非参数统计方法,适用范围要广些。斯皮尔曼等级相关是根据等级资料研究两个变量间相关关系的方法。它是依据两列成对等级的各对等级数之差来进行计算的,所以又称为“等级差数法”

斯皮尔曼等级相关对数据条件的要求没有积差相关系数严格,只要两个变量的观测值是成对的等级评定资料,或者是由连续变量观测资料转化得到的等级资料,不论两个变量的总体分布形态、样本容量的大小如何,都可以用斯皮尔曼等级相关来进行研究

对于服从Pearson相关系数的数据亦可计算Spearman相关系数,但统计效能要低一些。Pearson相关系数的计算公式可以完全套用 Spearman相关系数计算公式,但公式中的x和y用相应的秩次代替即可。

Kendall's tau-b等级相关系数:用于反映分类变量相关性的指标,适用于两个分类变量均为有序分类的情况。对相关的有序变量进行非参数相关检验;取值范围在-1-1之间,此检验适合于正方形表格;肯德尔(Kendall)W系数又称和谐系数,是表示多列等级变量相关程度的一种方法。适用这种方法的数据资料一般是采用等级评定的方法收集的,即让K个评委(被试)评定N件事物,或1个评委(被试)先后K次评定N件事物。等级评定法每个评价者对N件事物排出一个等级顺序,最小的等级序数为1 ,最大的为N,若并列等级时,则平分共同应该占据的等级,如,平时所说的两个并列第一名,他们应该占据1,2名,所以它们的等级应是1.5,又如一个第一名,两个并列第二名,三个并列第三名,则它们对应的等级应该是1,2.5,2.5,5,5,5,这里2.5是2,3的平均,5是4,5,6的平均。

肯德尔(Kendall)U系数又称一致性系数,是表示多列等级变量相关程度的一种方法。该方法同样适用于让K个评委(被试)评定N件事物,或1个评委(被试)先后K次评定N件事物所得的数据资料,只不过评定时采用对偶评定的方法,即每一次评定都要将N个事物两两比较,评定结果如下表所示,表格中空白位(阴影部分可以不管)填入的数据为:若i比j好记1,若i比j差记0,两者相同则记0.5。一共将得到K张这样的表格,将这K张表格重叠起来,对应位置的数据累加起来作为最后进行计算的数据,这些数据记为γij。

参考资料

参考资料Python+pandas计算数据相关系数的实例_python_脚本之家​www.jb51.nethttps://blog.csdn.net/CallMeYunzi/article/details/81134741​blog.csdn.nethttps://blog.csdn.net/wqhlmark64/article/details/78339622​blog.csdn.nethttps://blog.csdn.net/walking_visitor/article/details/85128461​blog.csdn.net

python计算线性相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)相关推荐

  1. R计算两列数据的相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)...

    pandas中DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...

  2. python计算标准差函数_Python pandas,pandas常用统计方法,求和sum,均值mean,最大值max,中位数median,标准差std...

    mean()平均值   median()中位数   max()最大值   min()最小值   sum()求和   std()标准差 Series类型独有的方法: argmax()最大值的位置   a ...

  3. Python+pandas计算数据相关系数(person、Kendall、spearman)

    pandas中DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...

  4. Python+pandas计算数据相关系数

    本文主要演示pandas中DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spea ...

  5. python计算excel平均值_python计算excel平均值和标准差

    ############################################## ######## python计算excel平均值和标准差 ####### ############### ...

  6. python计算线性回归方程

    野鸡大学大二机械系学生,最近做大物实验处理数据有用到计算线性回归方程,正好在自己慢慢啃python,于是在一个摸鱼的下午敲了这段代码.希望能给各位初学者一点点帮助! 欢迎各位python新手一起来交流 ...

  7. python计算excel数据_python计算excel平均值和标准差

    ############################################## ######## python计算excel平均值和标准差 ####### ############### ...

  8. python计算生态规模_Python计算生态的构建

    本专题的内容结构: 第一部分主要是:如何编写Python第三方库(包和模块) 第二部分主要是:如何编写带有c语言扩展的Python第三方库(包和模块) 第一部分的结构: unit1:深入理解Pytho ...

  9. python计算圆周率近似值_python计算圆周率pi的方法

    本文实例讲述了python计算圆周率pi的方法.分享给大家供大家参考.具体如下: from sys import stdout scale = 10000 maxarr = 2800 arrinit ...

最新文章

  1. python中的网页解析器_python爬虫初探(三):HTML解析器
  2. centos 7.3 开放端口并对外开放
  3. Hive的union和join操作
  4. 【转载】一个男人关心的东西 决定了他的层次
  5. java虚拟机类加载机制_《深入理解java虚拟机》学习笔记一/类加载机制
  6. 实现Evernote的OAuth授权
  7. [python] Kmeans文本聚类算法+PAC降维+Matplotlib显示聚类图像
  8. jinjia2 模板不解析html
  9. 利用software center在线更新windows 10 1909失败
  10. 海报psd素材模板|周年海报,仪式感值得珍藏
  11. CUPS-Centos6-dockerfile
  12. DPDK QOS1 -- Linux HQOS的框架
  13. 《Python语言程序设计》二级教程课后编程题及答案
  14. 外贸术语 交货条件(zt)
  15. java实现正六面体染色
  16. ONEDNS配置2:centos7DNS服务器VA转发器配置
  17. windows防火墙是干什么的_windows防火墙作用介绍
  18. Docker 启动镜像
  19. 为什么要用转型?转型的意义?
  20. MongoDb副本集详解及搭建

热门文章

  1. WMI与CIM的区别
  2. 335x系列平台-ADC接口配置和最大采样速率
  3. python生存曲线_生存曲线的估计方法(3):寿命表法
  4. Linux与数据库简要说明
  5. 网络爬虫——中国大学排名数据抓取
  6. stm32USB之模拟U盘
  7. head和tail命令--用Enki学Linux系列(8)
  8. 一张图了解大数据平台架构
  9. 用Python制作动态饼图
  10. platform驱动模型使用总结