数据摄取:表格格式与清理

立即解锁
发布时间: 2025-09-07 01:59:18 阅读量: 14 订阅数: 21 AIGC
PDF

数据清洗的艺术与实践

# 数据摄取:表格格式与清理 ## 1. 表格格式概述 大量数据以表格格式存在,表格格式即具有行和列的格式。从理论上讲,如果有“关系”的概念,每个结构化数据集合都可以用多个“扁平”或“表格”集合来表示。自 1970 年以来,关系数据库管理系统(RDBMS)取得了巨大成功,世界上很大一部分数据存储在 RDBMS 中,另一大部分数据则以非关系型但仍是表格形式存在,其中的关系可以临时但不繁琐地推断出来。 数据摄取主要关注使数据变“脏”的结构或机械问题,后续会更多关注数据的内容或数值问题。本章将讨论包括 CSV、电子表格、SQL 数据库和科学数组存储格式等表格格式,最后会介绍数据框的一些通用概念,数据科学家通常使用数据框来处理表格数据。 ### 1.1 数据清理准备 运行标准的设置代码,引入 Python 和 R 库,为数据清理做准备: ```python from src.setup import * %load_ext rpy2.ipython ``` ```R %%R library(tidyverse) ``` ## 2. 数据整理 ### 2.1 整洁数据的概念 Hadley Wickham 和 Garrett Grolemund 在《R for Data Science》中推广了“整洁数据”的概念。整洁数据将变量(表格的列,也称为特征或字段)与观测值(表格的行,也称为样本)仔细分开,每个单元格中有一个数据项。然而,实际遇到的数据往往不是这样排列的,需要进行规范化处理。 ### 2.2 示例:学生成绩数据 以小学班级学生成绩数据为例,原始数据如下: ```python students = pd.read_csv('data/students-scores.csv') students ``` | Last Name | First Name | 4th Grade | 5th Grade | 6th Grade | | --- | --- | --- | --- | --- | | Johnson | Mia | A | B+ | A- | | Lopez | Liam | B | B | A+ | | Lee | Isabella | C | C- | B- | | Fisher | Mason | B | B- | C+ | | Gupta | Olivia | B | A+ | A | | Robinson | Sophia | A+ | B- | A | 这种数据布局便于人类阅读和可视化,但当班级升入 7 年级或获取 3 年级信息时,需要更改列的数量和位置,而不是简单地添加行。实际上,年级是一个值,而不是变量。 为了使数据更适合分析,需要将其整理为整洁数据。在 Pandas 中,可以使用 `DataFrame.melt()` 方法: ```python students.melt( id_vars=["Last Name", "First Name"], var_name="Level", value_name="Score" ).set_index(['First Name', 'Last Name', 'Level']) ``` 在 R 的 Tidyverse 中,可以使用 `pivot_longer()` 函数实现类似的操作: ```R %%R studentsR <- read_csv('data/students-scores.csv') studentsR %>% pivot_longer(c('4th Grade', '5th Grade', '6th Grade'), names_to = "Level", values_to = "Score") ``` ### 2.3 数据整理操作的逆操作 要将整理后的数据恢复原状,可以使用 R 中的 `pivot_wider()` 函数,在 Pandas 中有 `.pivot()`、`.pivot_table()` 和 `.groupby()` 结合 `.unstack()` 等方法。 ## 3. CSV 文件 ### 3.1 CSV 文件概述 逗号分隔值(CSV)文件等分隔文本文件无处不在,它们是每行包含多个值,并用逗号等半保留字符分隔这些值的文本文件。CSV 文件通常是在其他表格表示之间传输数据的交换格式,很多数据从始至终都是 CSV 格式。 读取分隔文件的速度不是最快也不是最慢,对于大多数数据科学家处理的小数据集(通常指少于 100k 行)来说,速度不是主要问题。 ### 3.2 CSV 文件的优缺点 #### 优点 - 几乎可以在文本编辑器中轻松打开并理解,也可以使用命令行工具进行处理,在没有专业读取器和库的情况下,几乎可以完全手动修复。 #### 缺点 - 是第二容易出现结构问题的格式,虽然所有
corwn 最低0.47元/天 解锁专栏
买1年送3月
继续阅读 点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

勃斯李

大数据技术专家
超过10年工作经验的资深技术专家,曾在一家知名企业担任大数据解决方案高级工程师,负责大数据平台的架构设计和开发工作。后又转战入互联网公司,担任大数据团队的技术负责人,负责整个大数据平台的架构设计、技术选型和团队管理工作。拥有丰富的大数据技术实战经验,在Hadoop、Spark、Flink等大数据技术框架颇有造诣。
最低0.47元/天 解锁专栏
买1年送3月
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看
立即解锁

专栏目录

最新推荐

【MFC图像处理进阶】:实现截图预览缩放功能的3种高效算法(含性能对比)

![MFC截图(仿QQ截图)](https://www.softzone.es/app/uploads-softzone.es/2022/05/Windows-10-acceso-directo-a-imprimir-pantalla.jpg) # 摘要 本文围绕MFC平台下的图像缩放技术展开研究,系统分析了图像缩放的基本原理与常用算法,并探讨了在MFC框架中实现高效图像缩放的多种方法。文章分别基于GDI内置函数、双线性插值算法以及图像金字塔结构,提出不同层级的缩放实现方案,比较了各方法在视觉质量、时间复杂度与内存占用方面的优劣。同时,结合实际应用场景,针对图像失真、高DPI适配等常见问

误差来源全面曝光:斜边法MTF计算的校正方法研究

# 摘要 斜边法是光学成像系统中常用的调制传递函数(MTF)测量方法,但其在实际应用中存在多种误差来源,影响测量精度。本文系统阐述了斜边法MTF计算的基本原理,深入分析了光学系统像差、探测器响应非理想、边缘定位误差、环境噪声等导致测量偏差的关键因素。在此基础上,构建了基于数学建模的误差校正理论框架,提出了多项式拟合与误差补偿策略,并通过实验验证了校正模型的有效性与适应性。研究结果为提升MTF测量精度提供了理论支持和技术路径,同时为工程实践中实现高精度、实时MTF检测提供了可行方案。 # 关键字 斜边法;MTF;误差校正;光学像差;边缘响应;傅里叶变换 参考资源链接:[图像斜边MT

【Python变量深度解析】:类变量与实例变量的本质区别与最佳实践

![【Python变量深度解析】:类变量与实例变量的本质区别与最佳实践](https://img-blog.csdnimg.cn/direct/2f72a07a3aee4679b3f5fe0489ab3449.png) # 摘要 本文系统梳理了Python中类变量与实例变量的基本概念、理论基础及其在内存行为与访问机制中的差异。通过深入剖析Python对象模型、属性查找机制及变量作用域,本文揭示了类变量与实例变量在数据共享、访问优先级与修改影响范围方面的核心区别。进一步结合设计模式中的典型应用场景与常见误用案例,文章提供了变量使用的最佳实践与调试建议。最后,文章展望了Python变量管理在

非平稳信号处理进阶:红白噪声检验的核心作用与Matlab应用

![非平稳信号处理进阶:红白噪声检验的核心作用与Matlab应用](https://img-blog.csdnimg.cn/2020112915251671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NodWlkaWRlaHVheWlyZW4=,size_16,color_FFFFFF,t_70) # 摘要 红白噪声检验在非平稳信号处理中具有重要作用,是识别信号中噪声成分、提升分析精度的关键技术。本文系统阐述了红白噪声的基本

DHT11异常复位难题破解:STM32H7平台底层驱动+电源设计深度剖析

![STM32H743驱动DHT11数字温湿度传感器【支持STM32H7系列单片机_HAL库驱动】.zip](https://khuenguyencreator.com/wp-content/uploads/2021/07/stm32-dht11.jpg) # 摘要 DHT11传感器在嵌入式系统中广泛应用,但其在实际使用过程中常出现异常复位问题,影响数据采集的稳定性与可靠性。本文以基于STM32H7平台的应用为研究对象,系统分析了DHT11异常复位的现象与背景,深入剖析其通信协议、驱动机制及异常处理策略。进一步从硬件电源设计角度探讨了供电稳定性对传感器复位行为的影响,并结合软硬件协同调试

高并发场景下稳定性如何保障?PowerBuilder正则表达式多线程实战解析

![高并发场景下稳定性如何保障?PowerBuilder正则表达式多线程实战解析](https://ask.qcloudimg.com/http-save/yehe-4337369/ygstpaevp5.png) # 摘要 在高并发场景下,系统稳定性成为软件架构设计中的核心挑战。本文围绕高并发系统的基本理论、多线程编程实践以及正则表达式的高效应用展开研究,系统分析了并发模型、线程调度、资源竞争、限流降级、熔断机制等关键技术点。以PowerBuilder平台为实践基础,深入探讨了多线程任务的创建、同步与优化策略,并结合正则表达式的高级应用,提出在高并发环境下提升文本处理效率的优化方案。通过

MySQL备份与恢复全攻略:保障数据安全的10个关键步骤

![MySQL备份与恢复全攻略:保障数据安全的10个关键步骤](https://www.ubackup.com/enterprise/screenshot/en/others/mysql-incremental-backup/incremental-backup-restore.png) # 摘要 MySQL数据库的备份与恢复是保障数据安全性与业务连续性的核心环节。本文系统阐述了MySQL备份与恢复的核心概念、理论基础与实践方法,涵盖物理备份与逻辑备份的机制、策略设计原则及自动化实现路径。文章深入解析了InnoDB热备、二进制日志应用、RTO与RPO指标等关键技术要素,并结合实战操作说明

低耗SDK设计指南:移动环境下电量与流量控制技巧

![低耗SDK设计指南:移动环境下电量与流量控制技巧](https://img-blog.csdnimg.cn/direct/8979f13d53e947c0a16ea9c44f25dc95.png) # 摘要 随着移动应用功能日益复杂,资源消耗问题成为影响用户体验和应用性能的关键因素。本文系统研究了移动应用开发中的电量与流量优化问题,深入分析了移动设备电量消耗的主要来源与流量控制机制,探讨了Android与iOS平台在电量管理上的差异,并提出了基于用户行为的流量预测模型与优化策略。针对低耗SDK的开发实践,本文设计了模块化架构与自适应调控算法,并通过性能测试与A/B对比验证了优化效果。

插件化架构设计解析:iFIAS+如何实现灵活扩展与模块解耦(架构师进阶篇)

![插件化架构设计解析:iFIAS+如何实现灵活扩展与模块解耦(架构师进阶篇)](https://img-blog.csdnimg.cn/direct/592bac0bdd754f2cbfb7eed47af1d0ef.png) # 摘要 本文围绕插件化架构的设计理念与工程实践展开,重点介绍iFIAS+架构的核心机制与应用价值。首先阐述插件化架构的基本组成与设计原则,深入解析iFIAS+在模块化、接口抽象与服务注册方面的实现逻辑。随后通过iFIAS+的模块化设计实践,探讨插件的开发规范、加载机制、热更新策略及版本管理方案。结合实际业务场景,分析该架构在订单处理、支付扩展、性能优化及安全管理

DMA中断与SPI外设冲突排查实战:快速定位问题的6大技巧

![stm32F407 SPI1/SPI2 DMA 方式读写 CH376S](https://img-blog.csdnimg.cn/direct/10c17a74ab934a1fa68313a74fae4107.png) # 摘要 本文系统性地探讨了DMA与SPI技术的基础原理、协同工作机制及其在实际应用中可能出现的中断冲突问题。通过对DMA传输机制与SPI通信协议的深入解析,结合嵌入式系统中的典型应用场景,文章重点分析了中断优先级配置、资源竞争以及时序不匹配等引发冲突的关键因素。在此基础上,提出了基于日志分析、逻辑波形捕获和分段隔离法的高效问题排查技巧,并结合实际案例展示了中断优先级