python缺失值处理 fillna能否用scala来处理_数据清洗(一)丨处理缺失数据

数据清洗是数据分析的重要环节,尤其关注缺失值处理。在Python的pandas库中,缺失值通常表示为NaN,可通过fillna()进行填充或dropna()进行删除。而Scala处理缺失值的方法有所不同。本文探讨了如何在Python中使用fillna和dropna方法,并提及了可能的替代策略,如使用数据的平均值或中位数填充。
摘要由CSDN通过智能技术生成

原标题:数据清洗(一)丨处理缺失数据

其实数据分析中80%的时间都是在数据清理部分,而为什么要进行数据清洗呢?

因为在实际生产环境中,存在大量“脏”数据

✔不完整数据:缺少感兴趣属性,感兴趣属性缺少部分属性值。

✔异常数据:数据中包含错误的信息,存在着部分偏离期望值的孤立点。

✔不一致数据:数据值的不一致性。

接下来课程将为大家介绍数据清洗及数据联结的相关内容。

1.1 Handling Missing Data

在pandas中,missing data呈现的方式有些缺点的,但对大部分用户能起到足够的效果。对于数值型数据,pandas用浮点值Nan(Not a Number)来表示缺失值。我们称之为识别符(sentinel value),这种值能被轻易检测到:

在pandas中,我们使用了R语言中的一些传统,把缺失值表示为NA(not available)。在统计应用里,NA数据别是要么是数据不存在,要么是存在但不能被检测到。做数据清理的时候,对缺失值做分析是很重要的,我们要确定是否是数据收集的问题,或者缺失值是否会带来潜在的偏见。

内建的Python None值也被当做NA:

1.2 Filtering Out Missing Data

过滤缺失值

有一些方法来过滤缺失值。可以使用pandas.isnull和boolean indexing, 配合使用dropna。对于series,只会返回non-null数据和index values:

上面的等同于:

对于DataFrame,会复杂一些。你可能想要删除包含有NA的row和column。dropna默认会删除包含有缺失值的row:

设定how=all只会删除那些全是NA的行:

删除列也一样,设置axis=1:

一种删除DataFrame row的相关应用是是time series data。假设你想要保留有特定数字的观测结果,可以使用thresh参数:

1.3 Filling In Missing Data

填补缺失值

不是删除缺失值,而是用一些数字填补。对于大部分目的,fillna是可以用的。调用fillna的时候设置好一个常用用来替换缺失值:

给fillna传入一个dict,可以给不同列替换不同的值:

fillna返回一个新对象,但你可以使用in-place来直接更改原有的数据:

在使用fillna的时候,这种插入法同样能用于reindexing:

使用fillna可以我们做一些颇有创造力的事情。比如,可以传入一个series的平均值或中位数:

如果觉得本文对您有帮助,给我点个「在看」

关于Python基础的其他文章

在看点这里

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值