「数据科学」清洗数据,使用Python语言处理数据集中的重复值

数据集中的重复值,产生的原因有很多,如果不进行处理的话,会对我们的后续分析过程,产生很大的影响。比如说,在统计汇总数据的时候,重复数据就会导致数据总数增多。要是重复数据多的话,会影响我们对数据的判断。

查看重复数据

在Python语言中,查看数据集中的重复值,需要用到duplicated函数。

我们来看一个具体的例子。

这里,我们使用Online_Retail_Fake数据集,导入数据集,查看数据结构。

我们先来看看,存在重复数据的前5行数据。

还可以用聚合函数,查看具体存在多少行重复的数据。

可以看出,总共有5268行重复数据。

从前5行数据的输出没有看出什么问题,那么需要具体筛选某一行数据来看看有什么异常。利用已经掌握的数据筛选功能可以很轻松地构建如下的条件选择来查看InvoiceNo为536409的数据行。

我们通过与运算符&,让左右两个条件同时满足,筛选出满足条件的数据。因为这里的InvoiceNo存在多个重复数据,所以需要组合StockCode列,来查看具体的重复值,这和联合主键类似。

从上面输出的两行数据看,很可能是用户购买了两件相同物品,但是我们的待分析数据,来源于某在线商店,因此很容易提出疑问:为什么不直接把数量记为2呢?这样的问题我们目前无法回答,这和具体的业务逻辑,业务规则有关。但是如果是真实的数据分析,就需要去寻找答案了。

处理重复数据

对重复数据的处理,需要具体分析业务规则。如果重复数据是多余的话,可以直接丢弃删除重复值。

使用drop_duplicates方法,可以丢弃重复值。

从上图可以看出,重复值已经被丢弃。

我们还可以设置keep参数,来选择是保留前面的数据还是后面的重复数据。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

奕澄羽邦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值