当前位置: 首页 > news >正文

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

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

缺失数据的产生

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

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

查看缺失数据

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

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

这里,我们通过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.lryc.cn/news/440891.html

相关文章:

  • 彩蛋岛 销冠大模型案例
  • 大数据Flink(一百二十一):Flink CDC基本介绍
  • SqlServer自定义类型的使用
  • LeetCode 滑动窗口 滑动子数组的美丽值
  • 【JavaEE初阶】多线程(4)
  • 初识 C++ ( 1 )
  • Python数据分析 Pandas库-初步认识
  • Flutter问题记录 - 适配Xcode 16和iOS 18
  • VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025
  • 大数相乘,大数相加
  • Spring Boot配置文件敏感信息加密
  • Java操作数栈分析
  • C#|.net core 基础 - 值传递 vs 引用传递
  • axure的下载,激活,汉化全过程,多图
  • LCR 026
  • 万能小程序运营管理系统 _requestPost 任意文件读取漏洞复现
  • libyuv之linux编译
  • vue3路由基本使用
  • 哪些人适合学习人工智能?
  • 计算机的错误计算(九十七)
  • Flask-Migrate的使用
  • python怎么输入整数
  • 代码随想录打卡Day36
  • 速盾:凡科建站开cdn了吗?
  • python贪吃蛇游戏项目源码【免费】
  • Mycat搭建分库分表
  • Python中的数据结构
  • mysql笔记8(多表查询)
  • typescript-tsconfig文件解释
  • 所有用贪心的算法和所有用动态规划(dp)的算法合集