「数据科学」清洗数据,真实数据集中缺失值的查看与处理

在数据科学的工作过程中,我们通过查看数据的基本要素和元数据之后,需要根据查看的结果,考虑是否需要清洗数据。缺失值的查看与处理,就是清洗数据的一部分。如果我们的数据集中,存在缺失值的话,就需要考虑如何处理缺失值。

缺失数据的产生

那么,缺失值是怎么产生的呢?

在我们收集数据的过程中,不管是通过手工收集,还是通过信息系统,录入数据的方式收集。可能会存在两种产生缺失值的情况,一种就是人为原因,导致数据没有录入,或者是没有收集到,形成缺失值。另外一种,可能是汇总组合数据的时候,由于算法设计的问题,或者是系统处理数据环节存在问题,也可能导致产生缺失值。

查看缺失数据

我们先来看,在我们的原始数据集中,如何来查看是否存在缺失值。

先导入必要的包,设置数据集,行和列显示的数目。

这里,我们通过ucimlrepo库的fetch_ucirepo函数,获取bank_marketing的真实数据集。

bank_marketing数据集,是葡萄牙一家银行机构的直接营销活动数据,营销活动是基于电话实现的。用来预测银行客户,是否会订阅银行产品(定期存款)。

从上图可以大致看出,有NaN的列,就是存在缺失值的变量。

我们还可以通过isnull函数,查看数据集的所有变量的缺失值情况,通过sum聚合函数,汇总存在缺失值变量的数据总数。

为0的变量,是不存在缺失值的变量。不为0的变量,则是存在缺失值的变量,需要考虑处理缺失值。

处理缺失数据

处理缺失数据的方式,一种是直接丢弃存在缺失值的行,一种是填充缺失值所在的单元格数据。

我们先来看直接丢弃存在缺失值的行。为了不影响原始数据集,我们复制一个新数据集data1。

通过dropna函数,直接丢弃存在缺失值的行。可以看出,操作完成后,数据从45211行,减少到了7842行。

这里,我还可以给dropna函数加上参数,来对整行都是缺失值的行,进行丢弃,语句如下所示。

df.dropna(how='all')

对整列都是缺失值的列,进行丢弃的话,语句如下所示。

df.dropna(how='all', axis=1)

我们再来看,如何填充缺失值数据。当具体的单元格中的缺失值数据,我们在现实中,找到合适的值的话,就可以直接填充缺失值数据。

我们可以对整个数据集,用0来填充缺失值。

这样,缺失值的地方,就用0进行了替代。

我们也可以考虑用缺失值前面或后面的值来填充。

如果是用后面的值进行填充的话,语句如下所示。

data1['job'].fillna(method='bfill')

如果要对某个单元格进行填充的话,只要查询到这个单元格,然后对这个单元格进行赋值操作,就可以填充新的数据值。

缺失值的填充,在现实的数据清洗过程中,用处非常大。我们收集到的数据,往往需要反复修改,不管是对缺失值的处理,还是对其他异常情况的处理,都需要用到缺失值填充的操作。

以上就是本篇文章的全部内容。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

利用WPF绘制轮廓并保存为图片

1.前言 WPF作为显示工具也挺好用,用C#开发应用软件会比较省力,当然也有其缺点,如在对效率要求较高的情况下有性能问题,本文记录用WPF绘制轮廓并保存为图片相关内容。 显示效果也还不错,满足调试使用了&#xf…

使用JS实现tab栏切换

重要知识点了解 环境对象(this) 1.环境对象:指的是函数内部特殊的变量 this 2.this的使用:当我们在一个函数里面需要去调用一个变量是。需要去引用如 函数的调用方式不同,this 指代的对象也不同 【谁调用&…

应用AI技术的销售进化论

该文章聚焦AI技术在销售行业中的实际应用,解读销售人员如何利用先进技术及工具突破传统限制,增强业务能力帮助销售人员保持竞争优势,提升工作效率与业绩。 1、AI如何重塑销售规则 1.1 AI在销售领域的应用:不只是数字游戏 在销售…

python调用c++动态链接库,环境是VS2022和vscode2023

目录 前言:配置环境:基础夯实(对于ctypes的介绍):1. 加载共享库2. 定义函数原型3. 调用函数4. 处理数据结构5. 处理指针6. 错误处理7. 使用 ctypes.util总结 效果展示:操作步骤(保姆级教学)一在VS中创建dll…

train_llava记录

首先时build_model 【自定义多模态大模型LLaVA——LLaVA系列】 https://www.bilibili.com/video/BV1GS411P74b/?share_sourcecopy_web&vd_source820e17ab3d5412c1c94e68f2e5f07ae7 作者用的4B的qwen1.5 但是这里发现3090是只能部署但是推理爆显存所以只能换成0.5B的 问…

计算机毕业设计汽车选购销售平台管理系统车辆用户分类订单评价购买/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

‌计算机毕业设计:汽车选购销售平台管理系统‌ ‌一、项目概述‌ 本毕业设计项目旨在构建一个全面的汽车选购销售平台管理系统,该系统将涵盖车辆管理、用户分类、订单处理、评价系统以及购买功能。通过采用Spring Boot、JavaWEB、J2EE等后端技术&#…

【java系】记录一次ClassLoader.getResourceAsStream获取不到文件流

问题描述反馈,开发同事在本地获取对应文件流是可以正常业务操作,发布到linux服务器对应环境就会出现异常。 源码部分截图 看到这里,我猜想是否和window底层文件操作系统不区分大小写有关呢?而服务器linux是严格区分大小写这个应该…

黑神话悟空mac可以玩吗

黑神话悟空mac上能不能玩对于苹果玩家来说很重要,那么黑神话悟空mac可以玩吗?目前是玩不了了,没有针对ios系统的版本,只能之后在云平台上找找了,大家可以再观望下看看。 黑神话悟空mac可以玩吗 ‌使用CrossOver‌&…

场外期权或成暴利工具?!应该怎么做场外期权?

今天带你了解场外期权或成暴利工具?!应该怎么做场外期权?通过深入了解市场、选择合适的通道商、制定清晰的策略和有效的风险管理,可以在场外期权交易中取得更好的结果。 什么是场外期权? 场外期权是交易所以外的市场…

【店雷达全网图搜比价盘点】1688、淘宝、阿里国际、亚马逊、速卖通5大平台

全网图搜比价的意义,对于商家来说的意义在于可以对比不同供应商提供的同款或类似产品的价格,找出性价比高且质量可靠的商品,确保在运费和其他成本考虑下仍能保持合理利润空间,挑选出更具性价比且可靠的商品有效降低选品风险。 店…

ubuntu安装wordpress(基于LNMP环境)

参考链接 Ubuntu安装LNMP 安装步骤 环境需要LNMP环境,如果没有安装可以参考ZATA—LNMP简单安装 在mysql中设置wordpress所用的用户名和密码 #1. 登录mysql mysql -uroot -p #2. 创建wordpress数据库 create database wordpress; #3. 创建新用户user,…

ES分词导致查询结果不准确

问题现象 索引里面有数据,而没有查询出来。 如下图所示,术语库(索引)中里面有一条数据的原文是“层”,而根据完整的原文来查询该原文中的术语,并未将该术语查询出来。 根据原文查询该原文中的术语&#x…

飞睿智能UWB BLE Tag蓝牙防丢器模块,APP测距定位一键绑定,安全守护每一刻

我们总在不经意间与生活中的小物件擦肩而过——钥匙遗忘在咖啡厅的角落,钱包遗失在拥挤的地铁,甚至孩子的书包在人群中悄然消失……每一次的失而复得都是幸运的眷顾,但更多的是遗憾与不便。今天,就让我带你走进一个智能守护的新世…

如何在多台Linux虚拟机上安装和配置Kafka集群

Kafka是一个高性能、分布式的流处理平台,被广泛应用于大规模实时数据处理场景。它具有高吞吐量、低延迟和可水平扩展等特点,能够有效地处理海量数据流。为了提高Kafka的可用性和容错性,通常会在多个节点上部署Kafka集群。在这个指南中&#x…

银行监管报送系统系列介绍(二十):资产减值准备规则变迁与报送要求

资产减值准备是商业银行识别和防范信用风险的重要工具。自2002年人民银行发布《贷款损失准备计提指引》以来,我国对于减值准备的计提与考察规则逐步完善。目前许多监管模块都要求统计各类业务的减值准备,不同报表的统计口径和粒度也不尽相同。因此我们综述了填报说明中依据的…

react + antDesignPro 企业微信扫码登录

效果 实现步骤 1、项目中document.ejs文件引入企微js链接 注意&#xff1a;技术栈是使用的react antDesignPro&#xff0c;不同的技术栈有不同的入口文件&#xff08;如vue在html文件引入&#xff09; <script src"https://wwcdn.weixin.qq.com/node/wework/wwopen/j…

Maximum call depth exceeded 【解决】

Maximum call depth exceeded 【解决】 在前端开发中&#xff0c;Maximum call depth exceeded 是一个常见的错误信息&#xff0c;它通常与递归调用深度过深有关。当 JavaScript 引擎执行递归函数时&#xff0c;如果递归层次过多&#xff0c;会超出调用栈的最大深度&#xff0c…

离散制造 vs 流程制造:锚定精准制造未来,从装配线到化学反应,实时数据集成在制造业案例中的多维应用

使用 TapData&#xff0c;化繁为简&#xff0c;摆脱手动搭建、维护数据管道的诸多烦扰&#xff0c;轻量替代 OGG, Kettle 等同步工具&#xff0c;以及基于 Kafka 的 ETL 解决方案&#xff0c;「CDC 流处理 数据集成」组合拳&#xff0c;加速仓内数据流转&#xff0c;帮助企业…

了解变压器电压调节抽头

提供给变压器初级的电压可能与标称值不同。大多数公用事业公司将提供标称额定值 5% 以内的电压&#xff1b;但是&#xff0c;设施内的电压下降可能会导致提供给变压器的实际电压低于标称值 5% 以上。公用事业供应也可能有所不同。向变压器初级提供与额定初级电压不同的电压会导…

从零手写大模型,零基础入门到精通,收藏这一篇就够了

这里为从零手写大模型的实战课程介绍。 1、课程定位 如果你想成为真正懂 AI、可以写代码进行 AI 模型开发、对大模型的底层技术很了解的技术性人才&#xff0c;就来这里从零学习手写大模型吧。 本课程适合以下的同学&#xff1a; 1、希望从事AI 算法开发、大模型开发的同学…