spark | 手把手教你用spark进行数据预处理

本文介绍了如何使用Spark进行数据预处理,包括数据去重和空值处理。首先,通过distinct().count()方法检测并去除完全重复的行,再通过agg与distinct结合处理id不同但特征相同的行。接着,使用monotonically_increasing_id生成新的唯一id。对于空值,先统计缺失值情况,然后设定阈值过滤严重缺失的行,并用均值填充剩余的缺失值。
摘要由CSDN通过智能技术生成

本文始发于个人公众号:TechFlow,原创不易,求个关注


今天是spark专题的第七篇文章,我们一起看看spark的数据分析和处理。


过滤去重


在机器学习和数据分析当中,对于数据的了解和熟悉都是最基础的。所谓巧妇难为无米之炊,如果说把用数据构建一个模型或者是支撑一个复杂的上层业务比喻成做饭的话。那么数据并不是“米”,充其量最多只能算是未脱壳的稻。要想把它做成好吃的料理,必须要对原生的稻谷进行处理。

但是处理也并不能乱处理,很多人做数据处理就是闷头一套三板斧。去空值、标准化还有one-hot,这一套流程非常熟悉。以至于在做的时候都不会想,做这些处理的意义是什么。我们做数据处理也是有的放矢的,针对不同的情况采取不同的策略。所以说到这里,你应该已经明白了,首要任务还是需要先对数据有个基本的了解,做到心中有数

那么怎么做到心中有数呢?我们先来看一个具体的例子,假设现在我们有了这么一批数据:

df = spark.createDataFrame([
(1, 144.5, 5.9, 33, 'M'),
(2, 167.2, 5.4, 45, 'M'),
(3, 124.1, 5.2, 23, 'F'),
(4, 144.5, 5.9, 33, 'M'),
(5, 133.2, 5.7, 54
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值