python常用数据重复项处理方法
在数据的处理过程中,一般都需要进行数据清洗工作,如数据集是否存在重复,是否存在缺失,数据是否具有完整性和一致性,数据中是否存在异常值等.发现诸如此类的问题都需要针对性地处理,下面我们一起学习常用的数据清洗方法.
重复观测处理
重复观测:指观测行存在重复的现象,重复观测的存在会影响数据分析和挖掘结果的准确性,所以在数据分析和建模之前需要进行观测的重复性检验,如果存在重复观测,
还需要进行重复项的删除
在数据的收集过程中,可能会存在重复观测的出现,例如通过网络爬虫,就比较容易产生重复数据.如下表,是通过爬虫获得某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关于矩阵重复赋值覆盖问题的解决方法
本文实例讲述了python关于矩阵重复赋值覆盖问题的解决方法.分享给大家供大家参考,具体如下: import itertools import numpy as np comb = list(itertools.combinations(list(range(regions)), 2)) bands_info = [] coeff = np.zeros([bands, len(comb)]) for cla in range(classes): class_info = data[:,cla*b
-
python 列表输出重复值以及对应的角标方法
如下所示: a = [99,1,2,1,3,4] # 集合存储重复数据 b=set() for i in a: if a.count(i)>1: b.update([i]) dict ={} # 遍历重复数据 for j in b: list = [] for A in range(len(a)): if j == a[A]: list.append(A) dict[j] = list print(dict) 以上这篇python 列表输出重复值以及对应的角标方法就是小编分享给大家的全部内容了,
-
Python3 无重复字符的最长子串的实现
题目: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例: 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1. 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 &quo
-
python查找重复图片并删除(图片去重)
本文实例为大家分享了python查找重复图片并删除的具体代码,供大家参考,具体内容如下 和网络爬虫配套的,也可单独使用,从网上爬下来的图片重复太多,代码支持识别不同尺寸大小一致的图片,并把重复的图片删除,只保留第一份. # -*- coding: utf-8 -*- import cv2 import numpy as np import os,sys,types def cmpandremove2(path): dirs = os.listdir(path) dirs.sort() if le
-
python如何删除文件中重复的字段
本文实例为大家分享了python如何删除文件中重复字段的具体代码,供大家参考,具体内容如下 原文件内容放在list中,新文件内容按行查找,如果没有出现在list中则写入第三个文件中. import csv filetxt1 = 'E:/gg/log/log1.txt' filecsv1 = 'E:/gg/log/log1.csv' filecsv2 = 'E:/gg/log/log2.csv' filecsv3 = 'E:/gg/log/log3.csv' class operFileCsv()
-
python常用数据重复项处理方法
在数据的处理过程中,一般都需要进行数据清洗工作,如数据集是否存在重复,是否存在缺失,数据是否具有完整性和一致性,数据中是否存在异常值等.发现诸如此类的问题都需要针对性地处理,下面我们一起学习常用的数据清洗方法. 重复观测处理 重复观测:指观测行存在重复的现象,重复观测的存在会影响数据分析和挖掘结果的准确性,所以在数据分析和建模之前需要进行观测的重复性检验,如果存在重复观测, 还需要进行重复项的删除 在数据的收集过程中,可能会存在重复观测的出现,例如通过网络爬虫,就比较容易产生重复数据.如下表,是
-
mysql优化小技巧之去除重复项实现方法分析【百万级数据】
本文实例讲述了mysql优化小技巧之去除重复项实现方法.分享给大家供大家参考,具体如下: 说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候.毕竟咱不是专业的DB,所以嘞,只能自己弄一下适合自己去重方法了. 首先按照常规首段,使用having函数检查重复项,完事一个一个的删除.不要问我having检测重复项的sql咋写,你懂得哈...这个在只有几条重复的时候还可以.要是几千上万条不同数据重复,那咋办... 完事呢,咱就考虑了,用having函数查询的时候,原始sql如下: select `n
-
python无序链表删除重复项的方法
题目描述: 给定一个没有排序的链表,去掉重复项,并保留原顺序 如: 1->3->1->5->5->7,去掉重复项后变为:1->3->5->7 方法: 顺序删除 递归删除 1.顺序删除 由于这种方法采用双重循环对链表进行遍历,因此,时间复杂度为O(n**2) 在遍历链表的过程中,使用了常数个额外的指针变量来保存当前遍历的结点,前驱结点和被删除的结点,所以空间复杂度为O(1) #!/usr/bin/env python3 # -*- coding: utf-8
-
Python列表去重复项的N种方法(实例代码)
说明 Python语言中列表(List)与其他语言的数组(Array)类似,是一种有序的集合数据结构,Python List可支持各种数据类型,长度也可动态调整,与JS中的数组或Java ArrayList很接近.在实际编程中,经常会遇到数组或列表去掉重复项,保持成员唯一性.实现方式有多种,比如新建列表来存储非重复项,或者在原有基础上删除掉重复的项,也可以利用数据结构来达到去重复.具体哪一种方法更好呢?以下约20种方式都可以实现,我们可以通过这些来交流和学习. 方式 ## 1. 新建列表,如果新
-
浅析python常用数据文件处理方法
0.前言 虽说python运行速度慢,但其编程速度,第三方包的丰富度是真的高. 涉及到文件批处理还是会选择python. 1. 动态文件名 在文件批处理中,文件名经常只有编号是不同的,可以通过给字符串传递不同的编号来获取动态文件名. file_num = 324 # file_num = 1 for i in range(file_num): file_name = "正常数据\\{}.正常.txt".format(i + 1) ... 2. 将文件转换为csv格式 一般数据提供者为了
-
Python3删除排序数组中重复项的方法分析
本文实例讲述了Python3删除排序数组中重复项的方法.分享给大家供大家参考,具体如下: 给定一个排序数组,你需要在[原地]删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在[原地]修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2. 你不需要考虑数组中超出新长度后面的元素. 示例 2: 给定 nums =
-
JavaScript基于对象去除数组重复项的方法
本文实例讲述了JavaScript基于对象去除数组重复项的方法.分享给大家供大家参考,具体如下: JavaScript中,去除数组重复项是一个很常用的函数,而且在面试中也很经常被提问到.很多人在面对这个问题的时候,一般都是采用多层for循环来一步一步的比较,然后删除,那样不仅代码量很多,而且性能也很不好.在JavaScript的对象中,有一个特性就是key永远不重复,如果重复后面的就会覆盖前面的. 三个步骤: 1# 把数组转换成js对象 2# 把数组值变成js对象中的key 3# 把对象还原成数
-
PHP二维数组实现去除重复项的方法【保留各个键值】
本文实例讲述了PHP二维数组实现去除重复项的方法.分享给大家供大家参考,具体如下: 对于如下二维数组,要求对其进行去重: $arr = array( '0'=>array( 'name'=>'james', 'age'=>30, ), '1'=>array( 'name'=>'susu', 'age'=>26, ), '2'=>array( 'name'=>'james', 'age'=>30, ), 'new'=>array( 'name'=&
-
jQuery实现合并/追加数组并去除重复项的方法 原创
本文实例讲述了jQuery实现合并/追加数组并去除重复项的方法.分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>www.jb51.net jQuery不重复地追
-
JavaScript合并两个数组并去除重复项的方法
本文实例讲述了JavaScript合并两个数组并去除重复项的方法.分享给大家供大家参考.具体实现方法如下: Array.prototype.unique = function() { var a = this.concat(); for(var i=0; i for(var j=i+1; j if(a[i] === a[j]) a.splice(j, 1); } } return a; }; //Demo var array1 = ["a","b"]; var ar
随机推荐
- 原生js开发的日历插件
- git多人协作_动力节点Java学院整理
- 对数据进行分页显示到table中的实现方法
- Oracle PL/SQL入门慨述
- JavaScript修改css样式style动态改变元素样式
- 全面解析Bootstrap手风琴效果
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- ubuntu与centos中更换ip的shell代码
- 详解在Python中处理异常的教程
- 微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
- Centos6.5 ssh配置与使用教程
- Java程序实现导出Excel的方法(支持IE低版本)
- C#中dotnetcharting的用法实例详解
- android 使用uinput模拟输入设备的方法
- vue实现同一个页面可以有多个router-view的方法
- JS获取月的第几周和年的第几周实例代码
- vue系列之requireJs中引入vue-router的方法
- 微信小程序实现的3d轮播图效果示例【基于swiper组件】
- java后台接受到图片后保存方法
- PHP面向对象程序设计之构造方法和析构方法详解