首页 > 其他分享 >Pandas相关性分析

Pandas相关性分析

时间:2024-11-02 20:45:12浏览次数:3  
标签:分析 Spearman Pearson matrix df 相关系数 相关性 corr Pandas

1.相关性分析定义

    在 Pandas 中,数据相关性分析是通过计算不同变量之间的相关系数来了解它们之间的关系。在 Pandas 中,数据相关性是一项重要的分析任务,它帮助我们理解数据中各个变量之间的关系。

2.使用 corr() 方法计算数据集中每列之间的关系

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

(1)method (可选): 字符串类型,用于指定计算相关系数方法。默认是 'pearson',还可以选择 'kendall'(Kendall Tau 相关系数)或 'spearman'(Spearman 秩相关系数)。

(2)min_periods (可选): 表示计算相关系数时所需的最小观测值数量。默认值是 1,即只要有至少一个非空值就会进行计算。如果指定min_periods,并在某些列中的非空值数量小于该值,则相应列的相关系数将被设为 NaN。

(3)df.corr() 方法返回一个相关系数矩阵,矩阵的行和列对应数据框的列名,矩阵的元素是对应列之间的相关系数。

3.常见的相关性系数

(1)Pearson 相关系数: 皮尔逊相关系数,用于衡量两个变量间的线性关系强度和方向。取值范围在 -1 到 1 之间,-1 表示完全负相关,1 表示完全正相关,0 表示无线性相关。可以使用 corr() 方法计算数据框中各列之间的 Pearson 相关系数。

(2)Spearman 相关系数:即斯皮尔曼相关系数,是一种秩相关系数。用于衡量两个变量之间的单调关系,即不一定是线性关系。通过比较变量的秩次来计算相关性。使用 corr(method='spearman') 方法计算数据框中各列之间的 Spearman 相关系数。

4.Pearson 相关系数

    数据集是线性相关的,因此 Pearson 相关系数矩阵对角线上的值为 1,而非对角线上的值为 -1 表示完全负相关。

import pandas as pd

# 创建一个示例数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# 计算 Pearson 相关系数
correlation_matrix = df.corr()
print(correlation_matrix)

5.Spearman秩相关系数

    Spearman 相关系数矩阵的结果与 Pearson 相关系数矩阵相同,因为这两个变量之间是完全的单调负相关。

import pandas as pd

# 创建一个示例数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# 计算 Spearman 相关系数
spearman_correlation_matrix = df.corr(method='spearman')
print(spearman_correlation_matrix)

6.可视化相关性

    使用 Python 的 Seaborn 库, Seaborn 是基于 Matplotlib 的数据可视化库,专注于统计图形的绘制,旨在简化数据可视化的过程。Seaborn 提供了简单高级接口,可以轻松绘制各种统计图形,包括散点图、折线图、柱状图、热图等,而且具有良好的美学效果。

!pip install seaborn

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# 创建一个示例数据框
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# 计算 Pearson 相关系数
correlation_matrix = df.corr()

# 使用热图可视化 Pearson 相关系数
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.show()

标签:分析,Spearman,Pearson,matrix,df,相关系数,相关性,corr,Pandas
From: https://blog.csdn.net/m0_56065966/article/details/143456281

相关文章

  • Python数据分析NumPy和pandas(十八、从Web APIs 和 数据库中获取数据)
    一、与WebAPIs进行数据交互很多Web网站都提供公共的API,并通过JSON或其他格式提供数据。那Python也有很多种方法可以访问网站提供的API,其中一种常用的方法是通过使用requests库,使用之前需要先安装它,这里通过pip安装:pipinstall requests下面我通过GitHub网站提供的API......
  • 需求分析过程中场景遗漏处理方法:故事线法
    在系统开发过程中,隐藏功能的存在可能会导致需求遗漏和系统无法发布和部署的问题。为了发现隐藏功能,可以采用故事线法来描述业务场景,明确系统在其中的支持作用。隐藏功能介绍系统中可能存在一些隐藏功能,这些功能在原始需求中没有明确提出。如果我们没有发现这些隐藏功能,就可......
  • 光谱和偏振视觉光谱偏振现实世界数据集技术分析
    光谱和偏振视觉光谱偏振现实世界数据集技术分析两种具有代表性的极化可视化,如图6-13所示。图6-13两种具有代表性的极化可视化在图6-13中,(a)偏振椭圆描绘了投影到与光传播相切的平面上的电场振荡。(b)庞加莱球将光在归一化斯托克斯矢量轴上的偏振态可视化。图6-14光谱偏振图像......
  • 5G核心网之UE初始注册关键流程分析
    1.UE初始注册的关键流程为:(1)UE向AMF发送注册请求(2)AMF查询NRF得到AUSF,获取归属地的AUSF可以发起鉴权请求(3)获取到AUSF地址后,AMF请求AUSF对UE进行鉴权,AUSF通过UDM获取鉴权向量返回给AMF(4)AMF对UE合法性进行鉴权,UE通过鉴权向量计算得到鉴权结果RES转发到AMF(5)AMF首先站在拜访地对UE......
  • 基于Echarts的起点小说数据分析与可视化平台
    2.1Java语言Java是一种在Web应用开发中得到广泛使用的脚本语言,经常被用来对用户的相关行为做出反应。它还具有面向对象的设计能力,使设计开发过程更加直观和模块化,并在HTML基础上进行交互Web页面的开发。这种脚本语言的问世,使用户与页面之间的实时、动态交互成为现实,丰富了......
  • 足球预测分析工具推荐:AI泊松分布预测系统
    一、引言工欲善其事必先利其器,足球预测准确与否,其要点在于工具的合适性,而在当今时代,足球预测的首选工具就非AI与泊松分布不可了,而鉴于AI系统的可拓展性,AI与泊松分布融合的预测模型已经成为了广大足球预测家与足球精算师的首选工具,因此,本文将介绍此类预测系统的原理以及其预测......
  • 基于AI辅助下的高效高质量SCI论文撰写及投稿丨论文选题、文献调研、实验设计、数据分
    目录第一章、论文写作准备即为最关键第二章、开启论文写作之旅及AI大语言模型工具融合应用第三章、高效、高质量的图表制作及AI辅助应用第四章、论文自我审查、修改与润色第五章、投稿及根据审稿意见进行修订、改进第六章、学术诚信与规范第七章、常见问题与解决策略......
  • 【触想智能】工业平板电脑在智能教育设备上的应用优势分析
    随着科技的快速发展,智能教育设备成为现代教育领域的新宠。其中,工业平板电脑作为一种重要的智能教育设备,正逐渐在教育领域得到广泛应用。工业平板电脑在智能教育设备上的应用具有以下几个优势。1、工业平板电脑具备便携性。相比传统的教学设备,如电视、投影仪等,工业平......
  • 你还用ES存请求日志?ClickHouse+Vector打造最强Grafana日志分析看板
    为什么要做NGINX日志分析看板Grafana官网的dashboards有NGINX日志采集到ES数据源的展示看板,也有采集到LOKI数据源的展示看板,唯独没有采集到ClickHouse数据源的展示看板。所以这个轮子是必须要造的。为什么不使用ES存储ElasticSearch是全文检索引擎的文档数据库,对于业务日志、异......
  • 一文分析:软件测试的底层逻辑是什么?
    软件测试的底层逻辑主要基于质量保证和风险控制,下面从几个关键角度来详细阐述:1.验证与确认验证(Verification):这是确保软件产品的构建过程正确的活动。它主要关注软件是否按照预先定义的规范、标准和流程进行开发。例如,在软件开发过程中,开发团队需要遵循一定的代码规范,如命名规......