回炉整理《数据分析实战45讲》之基础篇 -- 11.数据清洗(二)

2023-11-04 10:20

本文主要是介绍回炉整理《数据分析实战45讲》之基础篇 -- 11.数据清洗(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上篇补了 “完全合一” 中的“完整性”这个部分掌柜觉得需要了解的知识点,接下来继续看全面性。还是回到服装店会员数据表那里,掌柜觉得这里的“全面性”指的是数据要规范:即大小写要统一、有单位的要统一单位、数据长度也要一致(小数点后面是几位都要统一)、数据名称保持一致等。

  • 那么再看这里的表格可以发现出现了单位不统一以及之前对均值填充的时候小数点位数变多的情况,只需要统一单位和小数点位数即可。这里把年龄的小数点位数都统一为之前的一位、单位都统一为千克(kgs):
    在这里插入图片描述
    在这里插入图片描述
  • 上面的没有补充的,接着来到 “合法性”,简单来讲就是数据要合乎常理,不会出现异常的情况,比如年龄是负数?性别未知?数据类型出现非ASCII字符等。
    (小小了解一下:所谓的ASCII,通俗来讲就是用一套统一规定的用来表示现代英语字符 同计算机中二进制数之间关系的编码规则。而这套规则又是当时美国的组织提出来的,所以又叫做 美国信息互换标准码(American Standard Code for Information Interchange)。(这里就不再多拓展了,因为这也是一个一挖就很深的点😂,有兴趣的朋友可以私下多面向谷歌了解

再回到这里,这个原始会员信息表出现了非ASCII字符(以语感来说是法语),所以这里进行删除或者替换操作:
在这里插入图片描述
在这里插入图片描述
这里用的是正则匹配ASCII字符,然后再进行删除,可以发现第0行和第7行的非ASCII字符被删除了。

如果不想删除非ASCII字符改变原样本,就想直接替换呢

补充第三点👉:pandas中如何替换非ASCII字符? 可以使用下面这个方法:
在这里插入图片描述
先创建替换的对应字典,然后使用pandas的字符串替换方法即可!

  • 补充第四点👉:如何处理异常值?* 有三种解决办法:
    1. 删除异常值
    2. 把它当作缺失值,用缺失值的方法来处理
    3. 不处理

PS:同样,异常值的处理还是要考虑实际情况,有时候不处理可以发现数据集的其他隐藏信息,比如医学检测的时候。

  • 最后来看唯一性,即数据要唯一,不存在重复、一对多的情况。所以这里存在两个问题:
  1. 一个是Name列包含两个参数First Name 和Last Name,一般不这样操作。所以需要进行一列变多列的拆分:
    在这里插入图片描述
    但是发现没,拆分的新数据列跑到最后去了,所以需要再处理一下:
    在这里插入图片描述

  2. 最后处理重复数据,用duplicated()查询重复数据,再用drop_duplicates()方法删除重复数据:
    PPS: 关于数据去重掌柜这里就不补充了,因为之前的博文写过一次,还对比了三种工具去重的方法,可以移步👉数据去重的各种方法汇总)
    在这里插入图片描述
    在这里插入图片描述
    最后再把处理干净的表存储到Excel中:
    在这里插入图片描述
    总算把第十一章要补的知识点搞定了,才发现一章就可以整理好多出来😂,最后脑图和代码掌柜都一并打包到GitHub去了,请自取👇:
    GitHub

然后十一章还留了一个练习题
在这里插入图片描述
想要练习和参考答案的可以一并去GitHub上面查看,喜欢可以关注,谢谢!😄

参考资料:
Pandas替换非ASCII字符

这篇关于回炉整理《数据分析实战45讲》之基础篇 -- 11.数据清洗(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/345110

相关文章

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.