在数据的处理过程中,一般都需要进行数据清洗工作,如数据集是否存在重复,是否存在缺失,数据是否具有完整性和一致性,数据中是否存在异常值等.发现诸如此类的问题都需要针对性地处理,下面我们一起学习常用的数据清洗方法.

1.重复观测处理

重复观测:指观测行存在重复的现象,重复观测的存在会影响数据分析和挖掘结果的准确性,所以在数据分析和建模之前需要进行观测的重复性检验,如果存在重复观测,

还需要进行重复项的删除.

在数据的收集过程中,可能会存在重复观测的出现,例如通过网络爬虫,就比较容易产生重复数据.如下表,是通过爬虫获得某APP市场中电商类APP的下载量数据(部分)

通过观测可以看出唯品会和当当出现了三次.如果收集上来的不是10行,而是10万行,甚至更多是,就无法通过肉眼的方式检测数据是否存在重复项了.

下面我们看用python怎么来处理重复项的检查,以及如何删除数据项中的重复项

代码:

import pandas as pd
df = pd.read_excel(r'D:\data_test04.xlsx')
print('数据集是否存在重复观测: \n',any(df.duplicated()))

out:

数据集是否存在重复观测:
True

代码就是简单的两行就处理好了

可以看出检测数据集的记录是否存在重复,使用duplicated (英文单词的意思就是重复,复制的意思)方法,但是该方法返回的是数据集每一行的检验结果,为了能够得到最直接的结果,可以使用any函数,该函数表示的是在多个条件判断中,只有一个条件为True,则any函数的结果就为True.正如结果所示,any函数的运用返回True值,说明

该数据集是存在重复观测的.

删除数据集中的重复观测:

df.drop_duplicates(inplace = True)
df

得出的结果如上图所示,原先的10行在派出重复项后得到7行,被删除的行号为:3,8和9.该方法中又有inplace参数,设置为True就表示直接在原始数据集上做操作.

python - 常用数据清洗方法-重复项处理的更多相关文章

  1. python常用魔术方法概览

    构造和初始化 __init__(self, args) 构造函数 __new__(cls) 传入的是类实例 __del__(self) 析构函数,调用 del cls 时会被调用 属性访问控制 __g ...

  2. python中剔除字典重复项,可以使用集合(set)。

    使用集合(set)剔除字典中的重复项(value). 1)具体例子: #甲乙丙丁使用的编程语言programming_languages = { '甲':'java', '乙':'python', ' ...

  3. python常用校验方法总结

    0x00 校验一个字符串是否是合法IP地址 ipv4举例:利用正则表达式来匹配 def checkip(ip): p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d ...

  4. Python常用函数记录

    Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...

  5. Python统计列表中的重复项出现的次数的方法

    本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下:对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在 ...

  6. Python | Python常用函数、方法示例总结(API)

    目录 前言 1. 运算相关 2. Sring与数字 3. 列表相关 4. 集合相关 5. 序列化类型 6. 字典相关 7. 输入输出 8. 文件相关 9. json模块 10. unittest测试模 ...

  7. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

  8. Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍

    本节的主要讨论内容是有关dict字典的一些常用的方法函数的使用和范例展示. 1. clear清除字典数据 语法结构如下: dict_obj.clear() 示例代码如下: dict1 = {'web' ...

  9. python经典面试算法题1.2:如何从无序链表中移除重复项

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.2 如何实现链表的逆序 [蚂蚁金服面试题] 难度系数:⭐⭐ ...

随机推荐

  1. reverse 字符串翻转

    头文件 algorithm string s="hello"; reverse(s.begin(),s.end()); char c[]="hello"; re ...

  2. Oracle DataGuard故障转移(failover)后使用RMAN还原失败的主库

    (一)DG故障转移后切换为备库的方法 在DG执行故障转移之后,主库与从库的关系就被破坏了.这个时候如果要恢复主从关系,可以使用下面的3种方法: 将失败的主库重新搭建为备库,该方法比较耗时: 使用数据库 ...

  3. Ionic 警告框

    <html ng-app="mySuperApp"> <head> <meta charset="utf-8"> <m ...

  4. nginx静态资源防盗链

    含义: 用于阻止 Referer 头字段为无效值的请求访问站点.需记住的是,使用适当的 Referer 字段值来伪造请求非常容易,因此本模块的预期目的不是要彻底阻止此类请求,而是阻止常规浏览器发送的大 ...

  5. 从别人的代码中学习golang系列--03

    这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识. 作者在项目中使用了 github.com/casbin/casb ...

  6. 细说selenium的等待条件

    selenium的显示等待 在进行UI自动化测试的时候,我们为了保持用例的稳定性,往往要设置显示等待,显示等待就是说明确的要等到某个元素的出现或者元素的某些条件出现,比如可点击.可见等条件,如果在规定 ...

  7. MemoryMappedFile的初级应用

    public class SyncMemoryList<T>: SyncList<T>, IDisposable { private MemoryCache<T> ...

  8. 【HEOI2015】公约数数列 题解(分块)

    前言:毒瘤数据结构题,半个下午都在搞它了…… --------------------------- 题目链接 题目大意:给定一个长度为$n$的序列,有两种操作:1.把$a_x$的值改成$y$.2.求 ...

  9. GitHub/Git配置与简单的使用

    今天我开始了初步的学习,首先从陌生的开始下手,GitHub,自己通过查询网络上的资料有了初步的理解与认识.进行了Git与GitHub的配置. 一.前期准备 首先下载Git,Git官网->http ...

  10. 基于深度学习的人脸识别系统Win10 环境安装与配置(python+opencv+tensorflow)

    一.需要下载的软件.环境及文件 (由于之前见识短浅,对Anaconda这个工具不了解,所以需要对安装过程做出改变:就是Python3.7.2的下载安装是可选的,因为Anaconda已经为我们解决Pyt ...