我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pandas 计算相关性系数corr()方式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pandas 计算相关性系数corr()方式

Pandas 计算相关性系数corr()

相关:数据之间有关联,相互有影响

如:A和B 存在一定的相关性,A对B存在一定程度的影响,A变化,B也会有一定的变化

  • 如果A和B相等 或者 B可以由A经过计算得到---->完全相关
  • 如果B是由 A和C计算得到 ---->并且 A可以计算出B的大部分 -----> A和B 强度相关
  • 如果B是由 A和C计算得到 ---->并且 A可以计算出B的小部分 -----> A和B 弱度相关
  • 如果 A和B 毫无关系 ----> 不相关

如果B和 A相关:

  • A的增大导致B的减小 —> 负相关
  • A的增大导致B的增大 —> 正相关

相关性系数:衡量相关性强弱的

其范围是[-1,1],绝对值越靠近0,表示不相关,绝对值越靠近1,表示相关性越强

小于 0 表示负相关;大于 0 表示正相关。

构造如下数据

import pandas as pd

data = pd.DataFrame(
    data={
        'age': [2,7,10,16,20],
        'height': [70,90,143,166,178],
        'score': [98,37,103,76,53]
    }
)

使用corr()方法计算相关性系数:

# 计算相关性系数的列 必须都是数值型的数据!
corr = data.loc[:, ["age","height"]].corr()        # 会计算两两列之间的相关性系数
print("corr\n", corr)
"""
corr
            age   height
age     1.00000  0.96043
height  0.96043  1.00000
"""

自身与自身的相关性系数为 1

计算多列相关性系数:

corr = data.loc[:, ["age","height","score"]].corr()
print("corr\n", corr)
"""
corr
             age    height     score
age     1.000000  0.960430 -0.340053
height  0.960430  1.000000 -0.096782
score  -0.340053 -0.096782  1.000000
"""

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

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

参数说明

  • method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
  • pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性数据便会有误差。
  • kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
  • spearman:非线性的,非正太分布的数据的相关系数
  • min_periods:样本最少的数据量
  • 返回值:各类型之间的相关系数DataFrame表格。

为区分不同参数之间的区别,我们实验如下:

from pandas import DataFrame
import pandas as pd
x=[a for a in range(100)]
#构造一元二次方程,非线性关系
def y_x(x):
    return 2*x**2+4
y=[y_x(i) for i in x]
 
data=DataFrame({'x':x,'y':y})
 
#查看下data的数据结构
data.head()
Out[34]: 
   x   y
0  0   4
1  1   6
2  2  12
3  3  22
4  4  36
 
data.corr()
Out[35]: 
          x         y
x  1.000000  0.967736
y  0.967736  1.000000
 
data.corr(method='spearman')
Out[36]: 
     x    y
x  1.0  1.0
y  1.0  1.0
 
data.corr(method='kendall')
Out[37]: 
     x    y
x  1.0  1.0
y  1.0  1.0

因为y经由函数构造出来,x和y的相关系数为1,但从实验结构可知pearson系数,针对非线性数据有一定的误差。

需要说明,数据之间的相关关系,并不代表其之间的因果关系,相关系数为1,只能说明二者之间具备完全相关性,但不能说y是x的果。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Pandas 计算相关性系数corr()方式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pandas计算相关系数corr返回空的问题解决

本文主要介绍了pandas计算相关系数corr返回空的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-17

VB.NET计算数字相关函数的使用方法

这篇文章将为大家详细讲解有关VB.NET计算数字相关函数的使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。VB.NET编程语言一经出现,就凭借其强大的功能受到广大开发人员的青睐。它的应
2023-06-17

Android编程计算函数时间戳的相关方法总结

本文实例讲述了Android编程计算函数时间戳的相关方法。分享给大家供大家参考,具体如下:对于做性能的人来说,知道时间的花在哪了是比较重要的,可以在函数前后得到系统的时间,计算时间戳能够得到每个函数的时间。在JAVA中可以通过System.
2023-05-31

Python进行数据相关性分析的三种方式是什么

本文小编为大家详细介绍“Python进行数据相关性分析的三种方式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python进行数据相关性分析的三种方式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。相
2023-06-30

C++ 函数参数传递方式与程序设计模式的关系

c++++ 中函数参数传递方式与程序设计模式紧密相关,不同的传递方式将影响函数行为和模式选择。按值传递副本传递变量,适合不可变对象或复制成本高的对象。按引用传递直接操作变量,适合输入输出参数、大型对象和观察者模式。按指针传递允许处理动态数据
C++ 函数参数传递方式与程序设计模式的关系
2024-04-12

SQL 设计模式 | 关系型数据库的幂等性处理

来看关系型数据库的 DML 的幂等性处理。在库存管理软件中,对同一批货物操作增删改,就可能带来负面影响。
SQL设计模式2024-12-02

边缘计算改变数字生态系统格局的六种方式

疫情暴露了全国性的数字鸿沟。DartPoints的Brad Alexander概述了边缘计算如何弥合这一差距并改变数字生态系统的格局。
边缘计算2024-11-30

Python 根据相邻关系还原数组的两种方式(单向构造和双向构造)

目录题目描述示例 2:示例 3:单向构造(哈希表计数)双向构造(双指针)最后题目描述这是 LeetCode 上的 1743. 从相邻元素对还原数组 ,难度为 中等。Tag : 「哈希表」、「双指针」、「模拟」存在一个由 n 个不同元素组成的
2022-06-02

在边缘计算场景中确保数据一致性的分布式事务方案

通过数据一致性、高可靠性、低延迟、可扩展性和简化管理等特性,确保在边缘计算环境中的数据处理和事务操作能够高效、可靠地进行。

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录