3.Python数据分析—数据分析入门知识图谱索引(知识体系中篇)

3.Python数据分析—数据分析入门知识图谱&索引-知识体系中篇

  • 一·个人简介
  • 二·数据获取和处理
    • 2.1 数据来源:
    • 2.2 数据清洗:
      • 2.2.1 缺失值处理:
      • 2.2.2 异常值处理:
    • 2.3 数据转换:
      • 2.3.1 数据类型转换:
      • 2.3.2 数据编码:
    • 2.4 数据合并与重塑:
      • 2.4.1 数据合并:
      • 2.4.2 数据拼接:
      • 2.4.3 数据重塑:
  • 三·数据探索与分析
    • 3.1 描述性统计分析
    • 3.2 数据可视化原则和技巧
    • 3.3 探索性数据分析(EDA)
    • 3.4 相关性分析和假设检验
      • 3.4.1 相关性分析
      • 3.4.1 假设检验

一·个人简介

🏘️🏘️个人主页:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。
🎉🎉免费学习专栏

1. 《Python基础入门》——0基础入门
2.《Python网络爬虫》——从入门到精通
3.《Web全栈开发》——涵盖了前端、后端和数据库等多个领域
4.《【30天】Python从入门到精通详解版》——30天入门到精通(持续更新中)
🎉🎉《机器学习算法专栏目前阶段免费(持续更新中)!!!
🪐🪐欢迎免费订阅!欢迎大家一起学习,一起成长!!
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。

二·数据获取和处理

2.1 数据来源:

数据获取和处理是数据分析和机器学习项目的关键步骤。在这个阶段,首先确定数据的来源,然后采用适当的方法来收集和整理数据,以便于后续的分析和建模工作。
在这里插入图片描述

以下是几种常见的数据来源及其处理方法

  1. 文件:数据经常存储在各种文件中,如CSV、Excel、JSON或XML等格式。处理这些文件通常包括读取文件内容,解析数据结构,以及清洗数据(如处理缺失值、异常值、重复记录等)。
  2. 数据库:数据可能存储在关系型数据库(如MySQL、PostgreSQL、Oracle)或非关系型数据库(如MongoDB、Cassandra)中。从数据库中获取数据通常涉及到编写SQL查询或使用特定的数据库API来提取所需的数据集。
  3. API:许多现代服务提供了API(应用程序编程接口),允许开发者通过HTTP请求获取数据。这可能包括RESTful
    API、GraphQL API或其他类型的Web服务。使用API时,需要了解API的认证机制、请求参数、响应格式以及速率限制等。
  4. 网络爬虫:对于网页上的数据,可以使用网络爬虫(Web
    Scraping)技术来抓取数据。这通常涉及到发送HTTP请求到网页,解析HTML或JSON响应,然后提取所需的信息。
  5. 实时数据流:某些应用需要处理实时数据流,如来自传感器、日志文件或消息队列的数据。处理实时数据流通常涉及到使用特定的流处理框架和技术。
  6. 外部服务:有时数据来源于第三方服务,如天气信息、金融市场数据等。这些服务可能提供专门的接口或数据集供用户使用。

2.2 数据清洗:

在实际操作中,选择哪种方法取决于数据的性质、异常值和缺失值的数量以及分析的目标。通常,数据处理前需要进行彻底的探索性数据分析(EDA),以了解数据的特点和问题的本质。可以通过箱线图分析来检测异常值。在处理过程中,应当谨慎考虑每种方法的适用性和可能带来的影响,以确保数据的完整性和分析结果的可靠性。

在这里插入图片描述

以下是针对缺失值和异常值的一些处理方法

2.2.1 缺失值处理:

  • 删除:直接将含有缺失值的记录从数据集中移除。这种方法简单直接,但可能会导致信息的丢失,尤其是在缺失值较多的情况下。
  • 填充:使用特定的值来填补缺失的数据。常用的填充方法包括使用均值、加权均值、中位数(对于数值型数据),或使用众数(对于分类型数据)。
  • 不处理:在某些情况下,选择不对缺失值进行处理,这可能会影响后续分析的结果。
  • 插值法填充:对于时间序列数据或其他有序数据,可以使用插值法来估计缺失值,如线性插值或多项式插值等。
  • 模型预测填充:利用其他变量构建模型来预测缺失值,这种方法可以更好地保留数据间的关系。

2.2.2 异常值处理:

  • 删除:直接将含有异常值的记录删除,这可能会同时移除潜在的有效信息。
  • 视为缺失值:将异常值视为缺失值,然后按照缺失值处理的方法进行处理。
  • 平均值修正:使用前后两个观测值的平均值来修正异常值,适用于时间序列等有序数据。
  • 不处理:直接在具有异常值的数据集上进行数据分析,但这可能会影响分析结果的准确性。

2.3 数据转换:

数据转换通常包括将数据从一种类型更改为另一种类型,以及将数据重新编码以适应特定的分析或存储需求。

在这里插入图片描述

2.3.1 数据类型转换:

  • 数据类型转换是将数据值从一个类型转换为另一个类型的过程。这种转换可能是为了确保数据的兼容性
  • 当从低精度类型(如int)向高精度类型(如double)转换时,通常不会出现问题。但是,从高精度转向低精度时可能会出现数据丢失的情况
  • 在编程中,类型转换可以通过强制类型转换操作实现,例如在C语言中使用(type)value的形式进行转换。

2.3.2 数据编码:

  • 数据编码是数据预处理的一个重要方面,它涉及到将定性数据(如文本)转换为定量数据(如数字),以便进行数学计算或统计分析。
  • 常见的数据编码技术包括独热编码(One-Hot Encoding),标签编码(Label Encoding),以及二进制编码等。
  • 数据编码的目的是为了让机器学习算法能够更好地理解和处理数据,尤其是对于分类变量的处理。

2.4 数据合并与重塑:

数据合并与重塑是数据处理中的常见任务,涉及到结合和改变数据的结构以便于分析。

2.4.1 数据合并:

  • 数据合并通常指的是将两个或多个数据集按照一定的键(如ID或时间)结合起来。这在pandas中可以通过merge()函数实现,类似于数据库中的JOIN操作。
  • concat()方法用于将多个DataFrame或Series沿着一条轴(行或列)连接起来,类似于数据库中的UNION操作。
  • combine_first()方法用于在两个DataFrame对象上调用,将第二个对象的值填充到第一个对象的缺失值中。

2.4.2 数据拼接:

  • 数据拼接通常指的是在现有的数据结构上添加新的数据,这可以通过pandas的append()方法实现。

2.4.3 数据重塑:

  • 数据重塑涉及到改变数据的格式或结构,以便更好地适应分析需求。pandas提供了多种重塑数据的方法,如pivot()stack()unstack()等。
  • 层次化索引也是重塑数据的一个强大工具,它允许我们在多个层次上对数据进行分组和操作。

三·数据探索与分析

3.1 描述性统计分析

描述性统计分析是利用统计学的方法对数据进行总结和描述的过程,它涉及到数据的收集、整理、汇总和展示。

  1. 数据的集中趋势分析:这通常包括计算平均值中位数众数等统计量,用以描述数据的典型值或中心位置。
  2. 数据的离散程度分析:通过计算标准差方差极差等来评估数据的波动大小或分散程度。
  3. 数据的分布分析:分析和描述数据的整体分布情况,可能会用到频率分布表直方图等工具。
  4. 数据的频数分析:统计每个类别的观测次数,以了解不同类别的频度。
  5. 基本的统计图形:使用条形图饼图箱线图等图形工具来直观展示数据特征。
  6. 交叉分析法:通过交叉表格来分析两个或多个变量之间的关系。
  7. 对比分析法:比较不同组别或时间点的数据,以发现差异或趋势。
  8. 平均分析法:通过计算平均数来分析数据的总体水平。

3.2 数据可视化原则和技巧

数据可视化的原则和技巧主要在于清晰、有效地传达信息,同时也需考虑美观性和读者的体验

  1. 明确可视化目标:在开始之前,需要明确数据可视化的目的,是为了揭示模式、趋势还是说服观众采取某种行动。这将影响所选择的图表类型和方法。
  2. 选择合适的图表类型:根据目标和数据特性选择最合适的图表类型,如折线图适合展示趋势,柱状图便于比较不同类别等。
  3. 数据处理与清洗:在进行可视化前确保数据的准确性和一致性,处理异常值、缺失值和去除冗余数据,以增强可信度。
  4. 客观性原则:避免个人偏好影响数据展示,确保客观性和准确性。选择图表类型和配色应基于数据特征而非个人喜好。
  5. 考虑时间序列和空间分布:对于有时间或空间特征的数据,要选择合适的方法来展示周期性、趋势性或区域差异。
  6. 标签与注释:合理使用标题、轴标签、图例等元素,辅以解释性文本,帮助快速理解图表含义。
  7. 色彩与对比度:恰当运用色彩和对比度可以突出重点,使视觉元素区分明显,但需注意色彩不宜过多以免造成混乱。
  8. 字体选择:使用简单易读的字体,排版应当服务于清晰度和可读性而非视觉效果。
  9. 条形图基线从零开始:这保证了比较的准确性,防止误导读者。
  10. 与业务需求相结合:将数据可视化与实际业务场景紧密结合,确保其对决策支持有实质性的帮助。

3.3 探索性数据分析(EDA)

探索性数据分析(EDA)是一种用于理解数据集特征的初步分析方法,它有助于揭示数据中的模式、异常值和结构

在这里插入图片描述

  1. 数据概述:初步了解数据集的内容,包括数据的维度、类型和基本统计描述(如均值、中位数、标准差等)。
  2. 数据清洗:处理缺失值、异常值和重复记录,确保数据质量。
  3. 数据可视化:通过图表和图形(如散点图、直方图、箱线图等)直观地展示数据分布和变量间的关系。
  4. 特征工程:基于对数据的理解,选择或构建对预测结果有贡献的特征。
  5. 假设检验:对数据进行统计检验,以验证某些假设或理论。
  6. 建立模型:使用经过探索性分析准备的数据来建立预测或分类模型。

3.4 相关性分析和假设检验

相关性分析和假设检验是统计学中用于探究数据之间关系和测试理论假设的重要方法。

3.4.1 相关性分析

  • 相关性分析旨在探讨两个或多个变量之间的相关程度,例如,研究降水量与温度之间的关系。在进行分析之前,通常通过散点图初步了解变量间的关系情况。如果变量之间存在某种相关性,那么大部分的数据点就会相对密集并以某种趋势呈现。
  • 相关性的强度和方向通常通过计算相关系数(如Pearson相关系数)来量化,该系数的值介于-1到+1之间,其中+1表示完全正相关,0表示无相关,-1表示完全负相关。

3.4.1 假设检验

  • 假设检验是一种统计方法,用于检验关于总体参数的假设是否成立。它包括原假设(H0)和备择假设(H1)。原假设通常是研究者想要拒绝的假设,而备择假设是研究者想要接受的假设。
  • 进行假设检验时,会计算一个p值,该值表示在原假设为真的情况下,观察到的样本数据(或更极端的数据)出现的概率。如果p值小于预先设定的显著性水平(通常是0.05或0.01),则拒绝原假设,认为数据提供了足够的证据支持备择假设。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/501602.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【unity】解决unity编译器安装中文汉化包失败

如果有的同学中文包安装失败,我们找到相应的编译器版本,点击在资源管理器中显示按钮, 我们点击当前目录的上一级,进入编译器目录。 找到modules.json文件双击打开 我们找到简体中文,复制downloadUrl后面的值到浏览…

Spark SQL— Catalyst 优化器

Spark SQL— Catalyst 优化器 1. 目的 本文的目标是描述Spark SQL 优化框架以及它如何允许开发人员用很少的代码行表达复杂的查询转换。我们还将描述Spark SQL如何通过大幅提高其查询优化能力来提高查询的执行时间。在本教程中,我们还将介绍什么是优化、为什么使用…

K8S安装和部署(kubeadmin安装1主2从)

这里用kubeadmin方式进行安装部署 1. 准备三台服务器 服务器地址 节点名称 192.168.190.200 master 主 192.168.190.201 node1 从 192.168.190.202 node2 从 2. 主机初始化(所有主机) 2.1根据规划设置主机名 #切换到192.168.190.200 hostnamectl…

【C++的奇迹之旅】C++关键字命名空间使用的三种方式C++输入输出命名空间std的使用惯例

文章目录 📝前言🌠 C关键字(C98)🌉 命名空间🌠命名空间定义🌉命名空间使用 🌠命名空间的使用有三种方式:🌉加命名空间名称及作用域限定符🌠使用using将命名空间中某个成员…

【Frida】【Android】06_夜神模拟器中间人抓包

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

如何更新STEAM税务信息

回复邮件 Here are three attachments:. Figure 1: My personal tax information file in the government system, including my TIN, permanent address and mailing address Figure 2. My tax payment certificate in China in 2002 was issued by the tax bureau, Figure 3:…

npm ERR! errno CERT_HAS_EXPIRED

1 问题描述 使用npm命令安装相关依赖报错:npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/vue%2fcli failed, reason: certificate has expired报错示例图如下所示: 2原因分析…

C语言循环结构的程序设计

在C语言中,循环结构是一种重要的控制结构,用于重复执行特定的代码块,直到满足特定的条件为止。循环结构使得程序可以更加灵活和高效地处理重复性的任务,从而提高了程序的可读性和可维护性。本文将深入介绍C语言中循环结构的程序设…

小型分布式文件存储系统GoFastDfs应用简介

前言 最近稍微留意了一下各个文件存储系统的协议,发现minio是LGPLV3, 而fastdfs 是GPL3,这些协议其实对于商业应用是一个大坑。故而寻找一些代替品。 go-fastdfs就是其中之一,官网在: go-fastdfs 具体应用 其实可以直接查看官网教程的。 下…

Jenkins详细安装配置部署

目录 简介一、安装jdk二、安装jenkins这里如果熟悉 Jenkins ,可以【选择插件来安装】,如果不熟悉,还是按照推荐来吧。注意: 三、插件安装如果上面插件安装,选择的不是【安装推荐的插件】,而是【选择插件来安…

学习Fast-LIO系列代码中相关概念理解

目录 一、流形和流形空间(姿态) 1.1 定义 1.2 为什么要有流形? 1.3 流形要满足什么性质? (1) 拓扑同胚 (2) 可微结构 1.4 欧式空间和流形空间的区别和联系? (1) 区别: (2) 联系: 1.5 将姿态定义在流形上比…

基于java+springboot+vue实现的二手闲置物品置换系统(文末源码+Lw+ppt)23-375

摘 要 大学生二手闲置物品置换交易管理系统设计的目的是为用户提供免费物品、积分物品等功能。 与其它应用程序相比,大学生二手闲置物品置换交易的设计主要面向于学校,旨在为管理员和卖家、用户提供一个大学生二手闲置物品置换交易管理系统。用户可以…

Java项目:80 springboot师生健康信息管理系统

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 系统的角色:管理员、宿管、学生 管理员管理宿管员,管理学生,修改密码,维护个人信息。 宿管员…

LLM推理入门指南②:深入解析KV缓存

在本系列文章《LLM推理入门指南①:文本生成的初始化与解码阶段》中,作者对Transformer解码器的文本生成算法进行了高层次概述,着重介绍了两个阶段:单步初始化阶段,即提示的处理阶段,和逐个生成补全词元的多…

数组类模板(类模拟实现静态数组)

目录 介绍: 案例描述: 思路: 对要求分别分析实现: 创建对应的类: 1.定义一个数组类 2.类中属性有:数组, 容量, 大小 3.数组函数有: 构造函数(容量&am…

Oracle EBS AR接口和OM销售订单单价为空数据修复

最近,用户使用客制化Web ADI 批量导入销售订单行功能,把销售订单行的单价更新成空值,直到发运确认以后,财务与客户对帐才发现大量销售订单的单价空,同时我们检查AR接口发现销售订单的单价和金额均为空。 前提条件 采用PAC成本方式具体问题症状 销售订单行的单价为空 Path:…

车载以太网AVB交换机 gPTP透明时钟 6口 百兆车载以太网交换机

SW100TE百兆车载以太网交换机 一、产品简要分析 6端口百兆车载以太网交换机,其中包含5通道100BASE-T1泰科MATEnet接口和1个通道100BASE-TX标准以太网(RJ45接口),可以实现车载以太网多通道交换,车载以太网数据采集和模拟,Bypass数…

Discourse 最多允许有几个分类级别

和 DISCUZ 不同,DISCUZ 可以允许分类下面还有分类,再继续分类这种嵌套式分类。 Discourse 最多只允许有 2 个分类。 如果你在已有的分类下再继续分类的话,系统会提示错误: 意思就是子分类不能再分子分类。 Discourse 尽量采取了…

Chapter 1 - 6. Introduction to Congestion in Storage Networks

NVMe/TCP NVMe/TCP carries NVMe commands over TCP transport (Figure 1-8) for accessing remote block storage via a lossy or sometimes lossless network. It is an OSI layer 5 (sessions layer) protocol. NVMe/TCP 通过 TCP 传输(图 1-8)传输 NVMe 命令,以便通过有…

pnpm、monorepo分包管理、多包管理、npm、vite、前端工程化、保姆级教程

浅尝pnpm monorepo 多包管理方案 💡tips: 创建pnpm monorope多包管理框架流程 初始化 mkdir taurus & cd taurus pnpm init创建基础文件 创建文件pnpm-workspace.yaml packages:- packages/**创建文件夹packages/ -packages/ -package.json -pnpm-workspace…