Python数据分析实战:缺失值处理

Python数据分析实战:缺失值检测与处理的完整指南 在数据科学和机器学习项目中,数据预处理是确保模型可靠性和分析准确性的基石,而缺失值处理则是其中最关键的基础环节。其核心原理在于识别并处理数据集中的空值或异常占位符,以避免因数据不完整导致的统计偏差或模型训练失败。从技术价值看,有效的缺失值处理能显著提升数据质量,为后续的探索性分析、特征工程和模型构建提供干净、一致的输入。在实际应用场景中,无论是金融风控、用户画像还是商业智能分析,系统性的缺失值处理流程都不可或缺。本文聚焦于使用Python的Pandas和Scikit-learn库,深入讲解如何通过`isna 阅读详情

写在前面

上周我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。

查看缺失值

可以使用isnull方法来查看空值,得到的结果是布尔值。

# 查看缺失值
df_list.isnull()

结果:


对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关系,还有其他方法,可以使用 info方法
# 查看空值
df_list.info()

结果:


info方法可以看到字段的数据类型以及每个字段下有多少个非空值,可以看到neighbourhood_group 字段全为空,这和布尔值显示的结果一致。

其实还有一个方法,更简单了:

# 查看空值
df_list.isnull().sum()

对取出来的isnull的布尔值求和,就很明显地看到,id列是没有空值的,name列有一个空值,结果:

也可以对单独的某一列这样查看空值,对name列查看空值

# 对单独一列查看空值
df_list["name"].isnull().sum()

结果为1,说明name列有1个空值:

缺失值的处理

找到缺失值以后如何处理呢?删除或填充。

删除缺失值

用dropna方法,默认是只要一行中有一个缺失值这一行就全都删除

# 删除缺失值
df_list.dropna()

结果就是这个数据集里的数据全被删掉了,因为其中的neighbourhood_group这个字段全为空,按照dropna的尿性,有一个为空就整行删除,就得到了如下结果:

当然也可以给这个方法传入how="all"参数,只有在整行为空的前提下才删除。

# 整行都为空才删除
df_list.dropna(how = "all")

结果是一条都没有删除,因为这个数据集里没有所有字段都为空的记录:


但是有一列数据都为空的字段,把neighbourhood_group这一列删掉,还记得删除列的方法吗
# 删除列
df_list = df_list.drop(columns = "neighbourhood_group")
df_list

结果:


name列也是有一个空值的,找出来看一下
# 定位到name列的空值
df_list[df_list["name"].isnull()]

结果如下,这一行还是删了吧。


删除行用drop方法,刚刚定位出了要删除的那一行,行索引是456
# 删除name列的空值的行
df_list = df_list.drop(index = 456)
df_list

结果可以看到变成了28451行,之前一直都是28452行。

缺失值填充

当然缺失值除了删除外,还可以进行填充,可以用0填充,也可以用均值、众数填充。用fillna方法进行缺失值的填充。

last_review和reviews_per_month这两列也有缺失值,我们用众数填充(mode)last_review列的缺失值,用均值(mean)填充reviews_per_month列的缺失值。

# 缺失值填充
df_list.fillna({"last_review":df_list.last_review.mode(),
                 "reviews_per_month":df_list.reviews_per_month.mean()})

结果

这里只是举例缺失值也可以被填充这样处理,在这个案例里,不建议这两列填充,空着就空着吧。下节内容来处理重复值和异常值。


猜你喜欢:
Python数据分析实战:获取数据

《吊打分析师》实战—我要租个好房

为什么要学统计学:赤裸裸的统计学

成为数据分析师的第三年,我写了10W字

简单的Excel数据分析案例

@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@ 加微信(data_cola)备注:进群,拉你进可乐的数据分析交流群,数据分析知识总结,不定期行业经验分享

《用 Python 解锁数据洞察力:CSV 文件分析与列均值计算实战指南》 本文介绍了使用Python处理CSV文件并计算列均值的两种方法:原生csv模块和pandas库。通过示例数据演示了基础操作,并提供了进阶技巧(缺失值处理、异常检测)和性能优化建议。文章还展示了一个可复用的CSV分析工具类,展望了Python在数据分析领域的发展趋势。适合不同水平的Python开发者学习CSV文件处理的最佳实践,从基础语法到高级应用全面覆盖。 阅读详情

相关推荐

3DE重客户端安装

3DE重客户端安装

m0_48170265的博客 9431

python数据分析之清洗数据:缺失值处理

在使用python进行数据分析时,如果数据集中出现缺失值、空值、异常值,那么数据清洗就是尤为重要的一步,本文将重点讲解如何利用python处理缺失值 创建数据 为了方便理解,我们先创建一组带有缺失值的简单数据用于讲解 检查缺失值 对于现在的数据量,我们完全可以直接查看整个数据来检查是否存在缺失值看到有两列含有缺失值。当然如果数据集比较大的话,就需要使用data.isnull().sum...

早起Python 2万+

字节跳动扣子AI应用开发平台之实战

推出背景:扣子平台由字节跳动推出,旨在让非开发者也能快速创建、调试和优化聊天机器人。上线时间:扣子平台于2024年2月1日正式上线。功能定位:扣子是一个AI聊天机器人和应用程序编辑开发平台,可以理解为字节跳动版的GPTs。

恩爸编程 5898

Python数据分析之缺失值处理(一)

◆◆◆ ◆◆前言数据缺失值的处理,在数据分析前期,即数据处理过程中占着重要的地位,在数据分析面试中被问到的概率也是极大的。一般情况下,我们对待缺失值有三种处理方式:(1)源数据...

Eric_data的博客 1350

聊一聊固态电池和钠离子电池新技术

总之,固态电池是一种“安全又高效的未来电池”,它的好处非常明显,但目前还处于研发阶段,离普及还有一段距离。未来,这两种技术可能会与锂离子电池并存,分别满足不同的市场需求。我尝试用最通俗易懂的语言将复杂的技术讲给大家听。钠离子电池和锂离子电池的工作原理很相似,但它用的是。固态电池和钠离子电池是两种正在研发和推广的。,它们有潜力解决现有锂离子电池的部分缺点。,而不是锂(Li)。

weixin_33324696的博客 3333

nRF52382低功耗蓝牙应用开发之入门教程-软件烧录

准备工作在上一篇文章讲过了,这里就讲讲nRFgo studio的使用 硬件准备: J-link:2线 供电:3.3V 如下图打开nRFgo studio界面介绍, 2、如果J-link正常,如下图 3、如果蓝牙芯片正常 4、烧录过程,如果蓝牙芯片之前有烧录过程序,需先点擦除,再点烧录 5、烧录代码路劲,例如 F:\nRF\SDK\nRF5_SDK_15.2.0_...

LinQiPing233的博客 1946

Python数据分析之缺失值处理

前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料、代码以及群交流解答点击即可加入 前言 数据缺失值的处理,在数据分析前期,即数据处理过程中占着重要的地位,在数据分析面试中被问到的概率也是极大的。 一般情况下,我们对待缺失值有三种处理方式: (1)源数据补录,即通过再次采样或者询问等方式将缺失内容补充完整; (2)缺失值填充,即根据一定的规则将缺

【优快云官方推荐】 512

集群路径规划实战(一)之EGO-swarm环境搭建与调试

本文详细介绍了EGO-swarm分布式无人机集群运动规划系统的仿真环境搭建与调试全流程。内容涵盖ROS Melodic安装、代码获取、依赖库配置、编译问题解决(如multi_map_server头文件缺失)以及最终通过roslaunch启动集群仿真与Rviz可视化,为学习和研究集群路径规划算法提供了可运行的实战平台。

weixin_29243279的博客 250

【pandas】testdata数据集分析

文章目录一、数据集二、实现导包和准备工作1、查看数据类型、表结构、统计各字段缺失值个数2、删除所有全为空的列及身份证号为空的数据3、将“开始从事某工作年份”规范为4位数字年份,如’2008‘,并将列名修改为’参加工作时间‘4、添加列’工龄‘(体检年份-参加工作时间)和’年龄‘(体检时间-出生年份)两列。5、统计不同性别的白细胞计数均值,画出柱状图6、统计不同年龄段的白细胞计数,画出柱状图 一、数据集 数据集:资料,提取码:zmlc 二、实现 导包和准备工作 # -*- coding: utf-8 -* im

可乐大牛的博客 4938

Parasoft C++Test软件集成测试(部件测试)_实例讲解

本文以一组功能函数组件作为示例,讲解了如何使用C++Test进行软件集成测试。本文的示例比较简单,但是思路、方法和流程都是通用的,希望对大家有所帮助。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 734

Vue2 - 详细实现解析Markdown内容生成侧边栏Toc目录索引,识别文章内容根据大标题/小标题自动生成多级文章目录,点击目录导航时跳转到文章内容对应的锚点位置带过渡动画,滑过锚点时高亮对应标题

vue2,nuxt2,Markdown,目录,文章目录锚点,滚动高亮导航文字,根据页面滚动高亮显示目录的侧边栏,自动提取标题生成右侧目录,vuemarkdown解析并生成目录,滚动页面的时候文章目录跟着选中效果,侧边栏滚动跟随页面,右边目录固定,左边内容可以滚动并且与左边目录联动,实现监听滚动,锚点定位,文章目录滚动跟随高亮,右边菜单点击目录滚动到对应标题,报错,渲染失败,文章内容,读取#标题符号,自动生成一个目录树,自动生成Toc目录,博客内容生成目录索引,资讯文章,生成锚点目录树TOC,详细示例代码教

🏆 前端领域优质创作者 3670

pandas用众数填充缺失值_Python数据分析实战:缺失值处理

文章来源:可乐的数据分析之路作者:虾壳可乐写在前面之前我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。查看缺失值可以使用isnull方法来查看空值,得到的结果是布尔值。#查看缺失值df_list.isnull()结果:对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关...

weixin_39786617的博客 7288

【Unity实战篇】 接入百度翻译,实现文本自动翻译功能

日常在做项目的过程中,游戏本地化几乎已经成为必不可少的一步。 本篇文章将演示怎样在Unity中接入百度翻译,实现文本自动翻译的功能。

努力前行,总会成为自己心中的那道光 9059

python均值插补法填补缺失值_Python数据分析实战:缺失值处理

写在前面上周我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。查看缺失值可以使用isnull方法来查看空值,得到的结果是布尔值。#查看缺失值df_list.isnull()结果:对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关系,还有其他方法,可以使用info方法#...

weixin_39921689的博客 3078

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python缺失值类型与分析_Python数据分析实战:缺失值处理

写在前面上周我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。查看缺失值可以使用isnull方法来查看空值,得到的结果是布尔值。#查看缺失值df_list.isnull()结果:对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关系,还有其他方法,可以使用info方法#查看空值d...

weixin_34766547的博客 784

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python缺失值怎么表示_Python数据分析实战(2):缺失值处理

写在前面上周我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。查看缺失值可以使用isnull方法来查看空值,得到的结果是布尔值。# 查看缺失值df_list.isnull()结果:对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关系,还有其他方法,可以使用info方法# 查看空值d...

weixin_39761558的博客 1131

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python 列表去空值_Python数据分析实战:缺失值处理

前面我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。查看缺失值可以使用isnull方法来查看空值,得到的结果是布尔值。# 查看缺失值df_list.isnull()结果:对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关系,还有其他方法,可以使用info方法# 查看空值df_li...

weixin_35782943的博客 2059

python均值插补法填补缺失值_Python数据分析实战(2):缺失值处理

写在前面上周我们读取完了数据(Python数据分析实战:获取数据),下面就要对数据进行清洗了,首先是对缺失值的处理。缺失值也就是空值,先找出来再处理。查看缺失值可以使用isnull方法来查看空值,得到的结果是布尔值。# 查看缺失值 df_list.isnull()结果:对于小的数据集来说,可以这样看,但对于大的数据集这样查看空值貌似没什么意义,没关系,还有其他方法,可以使用info方法# 查看空值...

weixin_39945871的博客 837

葡萄酒数据分析避坑指南:如何处理缺失值和异常评分(Python实战)

本文提供了一份葡萄酒数据分析的避坑指南,重点讲解如何处理缺失值和异常评分。通过Python实战演示,介绍了缺失值处理的五步策略、基于统计的异常检测方法以及健壮性代码编写技巧,帮助数据分析师避免常见错误,提升分析结果的可靠性。

weixin_30642561的博客 520

Python数据分析实战:Pandas处理缺失值的5个高级技巧(附完整代码)

Python数据分析实战:Pandas处理缺失值的5个高级技巧 真实业务数据从来不会干净。今天把我在项目中踩过的坑,一次性整理给你。 做数据分析的都知道,数据清洗占整个分析工作量的60-80%。而缺失值处理,又是数据清洗中最常见的问题。 很多人遇到缺失值第一反应就是 df.dropna(),一行代码删完。然后呢?数据从10万行变成3万行,分析结论偏差巨大。 今天分享5个在真实项目中验证过的高级技巧,每个都有代码示例。 技巧1:按业务逻辑分组填充 场景:用户收入数据有缺失,但你不能简单地用全局均值填充。一线城

Captain_DUDU的博客 238

Python 0基础练习 数据分析 3:pandas 数据清洗(缺失值 / 异常值 / 重复值处理,实战电商数据)

本文介绍了电商数据分析中的数据清洗方法,重点解决缺失值、异常值和重复值三大问题。通过Python的pandas库,作者演示了如何识别和处理脏数据:缺失值可通过删除或填充(均值/中位数/众数)处理;异常值可通过箱线图法则识别,并采用删除、修正或盖帽法处理;重复值则使用drop_duplicates()删除。文章提供了完整的电商订单数据清洗流程代码,并提醒注意常见错误如数据类型不匹配、脱离业务逻辑判断异常值等。数据清洗是确保分析结果准确的关键步骤,需要结合业务场景选择合适方法。

xiaojie963的博客 1301

医疗数据分析实战:用Python清洗MIMIC-IV 3.1中的脏数据(含缺失值处理技巧)

本文详细介绍了如何使用Python清洗MIMIC-IV 3.1医疗数据库中的脏数据,特别针对ICU患者的时序数据提供实用解决方案。通过构建自动化清洗流水线,结合医学知识处理缺失值和异常值,提升数据质量。文章涵盖数据扫描、实验室指标清洗、生命体征处理及质量验证等关键步骤,适合医疗数据分析师和Python开发者参考。

t8u9v0w1x的博客 244

Python数据分析双雄:NumPy与Pandas从入门到实战(第三讲)—— Pandas 数据清洗大师课:缺失值、异常值、重复值处理全攻略

在数据科学的世界里,有一句广为流传的格言:“”(数据科学80%的工作是数据清洗)。真实世界的数据从来都不是干净、整齐、完美的。缺失值:用户未填写的信息、传感器故障导致的数据丢失异常值:录入错误、系统bug、极端事件产生的离群点重复值:系统重复提交、数据合并时的重复记录格式不一致:日期格式混乱、数值单位不统一、文本编码问题逻辑错误:年龄为负数、订单金额不合理、时间戳倒置如果不对这些问题进行处理,直接将脏数据输入到分析模型中,得到的结果很可能是完全错误甚至具有误导性的。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 219
上一篇: Python数据分析实战:获取数据
下一篇: Python数据分析:缺失值处理
进击的可乐!
博客等级 码龄9年 412粉丝 200原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的可乐!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值