”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 了解您的数据:探索性数据分析 (EDA) 的要点。

了解您的数据:探索性数据分析 (EDA) 的要点。

发布于2024-08-27
浏览:934

Understanding your data: The Essentials of Exploratory Data Analysis (EDA).

收集并存储数据后,需要对其进行分析以得出对其有意义的理解。正是由于这个原因,探索性数据分析(EDA)发挥了作用。顾名思义,我们正在“探索”数据,即获得数据的总体概述。

收集的数据可以是文本、视频或图像,通常以非结构化方式存储。您很少会找到 100% 干净的数据,即没有任何异常情况。此外,数据可能采用各种格式,例如 Excel、CSV(逗号分隔值)、Json、Parquet 等。

在数据世界中,EDA 也可以称为数据操作数据清理。行业从业者强调清理数据以删除“垃圾”的重要性,因为这可能会对结果和预测产生负面影响。结构化数据通常采用表格格式,可以使用多种技术和工具(如 Excel、Power BI、SQL)进行分析,但我们将重点关注 Python 来进行说明。

使用 Python 进行 EDA
Python 编程语言是 EDA 中最广泛的工具之一,因为它具有多功能性,可以跨多个行业使用,包括金融、教育、医疗保健、采矿、酒店等。
内置库,即 Pandas 和 NumPy 在这方面非常有效,并且可以跨领域工作(无论是使用 Anaconda/Jupyter Notebook、Google Collab 还是 Visual Studio 等 IDE)

以下是执行 EDA 时可执行的常见步骤和代码行:

首先,您将导入操作/分析所需的 python 库:

将 pandas 导入为 pd
将 numpy 导入为 np

其次,加载数据集
df = pd.read_excel('文件路径')

注:df是将表格数据转换为数据框的标准函数。

加载后,您可以使用以下代码预览数据:
df.head()

这将显示数据集的前 5 行
或者,您可以简单地运行 df ,它将显示整个数据集的选定几行(顶部和底部)以及其中的所有列。

第三,使用以下方式了解所有数据类型:
df.info()

注:数据类型包括整数(整数)、浮点(小数)或对象(定性数据/描述性文字)。

在这一步,建议使用以下方式获取数据的汇总统计:
df.describe()

这将为您提供平均值、众数、标准差、最大/最小值和四分位数等统计数据

第四,判断数据集中是否存在空值:
df.isnull()

然后可以检查重复项(重复条目)
df.duplicate()

EDA 的其他关键方面是检查数据集中的各个变量如何相互关联(相关性)及其分布
相关性可以为正,也可以为负,范围为-1到1。其代码为:

df.corr()

注:相关性接近1表示强正相关,接近-1表示强负相关

分布检查对称不对称数据,以及数据的偏度,它可以是正态、二项式、伯努利或泊松。

总之,探索性数据分析是更好地理解数据的重要过程。它可以实现更好的可视化和模型构建。

版本声明 本文转载于:https://dev.to/s_ndichu/understanding-your-data-the-essentials-of-exploratory-data-analysis-eda-1hh7?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • CSS强类型语言解析
    CSS强类型语言解析
    您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串: result = 1 "1";包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理...
    编程 发布于2025-07-17
  • 编译器报错“usr/bin/ld: cannot find -l”解决方法
    编译器报错“usr/bin/ld: cannot find -l”解决方法
    错误:“ usr/bin/ld:找不到-l “ 此错误表明链接器在链接您的可执行文件时无法找到指定的库。为了解决此问题,我们将深入研究如何指定库路径并将链接引导到正确位置的详细信息。添加库搜索路径的一个可能的原因是,此错误是您的makefile中缺少库搜索路径。要解决它,您可以在链接器命令中添加...
    编程 发布于2025-07-17
  • 如何处理PHP文件系统功能中的UTF-8文件名?
    如何处理PHP文件系统功能中的UTF-8文件名?
    在PHP的Filesystem functions中处理UTF-8 FileNames 在使用PHP的MKDIR函数中含有UTF-8字符的文件很多flusf-8字符时,您可能会在Windows Explorer中遇到comploreer grounder grounder grounder gro...
    编程 发布于2025-07-17
  • `console.log`显示修改后对象值异常的原因
    `console.log`显示修改后对象值异常的原因
    foo = [{id:1},{id:2},{id:3},{id:4},{id:id:5},],]; console.log('foo1',foo,foo.length); foo.splice(2,1); console.log('foo2', foo, foo....
    编程 发布于2025-07-17
  • 找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    找到最大计数时,如何解决mySQL中的“组函数\”错误的“无效使用”?
    如何在mySQL中使用mySql 检索最大计数,您可能会遇到一个问题,您可能会在尝试使用以下命令:理解错误正确找到由名称列分组的值的最大计数,请使用以下修改后的查询: 计数(*)为c 来自EMP1 按名称组 c desc订购 限制1 查询说明 select语句提取名称列和每个名称...
    编程 发布于2025-07-17
  • Async Void vs. Async Task在ASP.NET中:为什么Async Void方法有时会抛出异常?
    Async Void vs. Async Task在ASP.NET中:为什么Async Void方法有时会抛出异常?
    在ASP.NET async void void async void void void void void的设计无需返回asynchroncon而无需返回任务对象。他们在执行过程中增加未偿还操作的计数,并在完成后减少。在某些情况下,这种行为可能是有益的,例如未期望或明确预期操作结果的火灾和...
    编程 发布于2025-07-17
  • 如何在鼠标单击时编程选择DIV中的所有文本?
    如何在鼠标单击时编程选择DIV中的所有文本?
    在鼠标上选择div文本单击带有文本内容,用户如何使用单个鼠标单击单击div中的整个文本?这允许用户轻松拖放所选的文本或直接复制它。 在单个鼠标上单击的div元素中选择文本,您可以使用以下Javascript函数: function selecttext(canduterid){ if(do...
    编程 发布于2025-07-17
  • Java是否允许多种返回类型:仔细研究通用方法?
    Java是否允许多种返回类型:仔细研究通用方法?
    在Java中的多个返回类型:一种误解类型:在Java编程中揭示,在Java编程中,Peculiar方法签名可能会出现,可能会出现,使开发人员陷入困境,使开发人员陷入困境。 getResult(string s); ,其中foo是自定义类。该方法声明似乎拥有两种返回类型:列表和E。但这确实是如此吗...
    编程 发布于2025-07-17
  • 在Python中如何创建动态变量?
    在Python中如何创建动态变量?
    在Python 中,动态创建变量的功能可以是一种强大的工具,尤其是在使用复杂的数据结构或算法时,Dynamic Variable Creation的动态变量创建。 Python提供了几种创造性的方法来实现这一目标。利用dictionaries 一种有效的方法是利用字典。字典允许您动态创建密钥并分...
    编程 发布于2025-07-17
  • 在程序退出之前,我需要在C ++中明确删除堆的堆分配吗?
    在程序退出之前,我需要在C ++中明确删除堆的堆分配吗?
    在C中的显式删除 在C中的动态内存分配时,开发人员通常会想知道是否有必要在heap-procal extrable exit exit上进行手动调用“ delete”操作员,但开发人员通常会想知道是否需要手动调用“ delete”操作员。本文深入研究了这个主题。 在C主函数中,使用了动态分配变量(H...
    编程 发布于2025-07-17
  • 在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    For Each Loop vs. Iterator: Efficiency in Collection TraversalIntroductionWhen traversing a collection in Java, the choice arises between using a for-...
    编程 发布于2025-07-17
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-07-17
  • 反射动态实现Go接口用于RPC方法探索
    反射动态实现Go接口用于RPC方法探索
    在GO 使用反射来实现定义RPC式方法的界面。例如,考虑一个接口,例如:键入myService接口{ 登录(用户名,密码字符串)(sessionId int,错误错误) helloworld(sessionid int)(hi String,错误错误) } 替代方案而不是依靠反射...
    编程 发布于2025-07-17
  • Java中如何使用观察者模式实现自定义事件?
    Java中如何使用观察者模式实现自定义事件?
    在Java 中创建自定义事件的自定义事件在许多编程场景中都是无关紧要的,使组件能够基于特定的触发器相互通信。本文旨在解决以下内容:问题语句我们如何在Java中实现自定义事件以促进基于特定事件的对象之间的交互,定义了管理订阅者的类界面。以下代码片段演示了如何使用观察者模式创建自定义事件: args)...
    编程 发布于2025-07-17
  • 如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    如何从Python中的字符串中删除表情符号:固定常见错误的初学者指南?
    从python import codecs import codecs import codecs 导入 text = codecs.decode('这狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#带有...
    编程 发布于2025-07-17

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3