精华内容
下载资源
问答
  • python笔记8:数据处理之去除重复数据
    千次阅读
    2019-01-14 17:30:28

    # -*- coding: utf-8 -*-
    #1. 概念:把数据结构中,行相同的数据只保留一行。
    # 语法: drop_duplicates  该方法返回一个去重后的数据框对象

    from pandas import read_csv

    df = read_csv("D:/python/workspace/pythonStudy/8.csv")

    #找出行重复的位置(索引值)
    dIndex = df.duplicated() #返回一列布尔值。如果某行数据没有出现过,则返回False,否则返回True

    #找出列重复位置
    dIndex = df.duplicated('id') #返回id这一列重复的位置

    dIndex = df.duplicated(['id','key']) #这两列同时重复的位置

    #根据上面的返回值,把重复数据提取出来                     
    df[dIndex]


    #删除重复值
    #默认根据所有的列,进行删除(当某两行所有列的数据都重复时,会删除其中一行)
    newDf = df.drop_duplicates()

    #当然也可以指定某一列或多列,进行重复值删除
    newDf = df.drop_duplicates("id")
    newDf = df.drop_duplicates(["id","key"])

    更多相关内容
  • mysql数据库如何去重复数据

    千次阅读 2021-02-02 11:44:48
    mysql数据库去重复数据的方法:方法一:防止表中出现重复数据当表中未添加数据时,可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。例如在学生信息表中学号no不...

    995ea28223c7cf64ab9a6c3c3b88c8ea.png

    mysql数据库去重复数据的方法:

    方法一:防止表中出现重复数据

    当表中未添加数据时,可以在MySQL数据表中设置指定的字段为PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。

    例如在学生信息表中学号no不允许重复,需设置学号no为主键,且默认值不能为NULL。CREATE TABLE student

    (

    no CHAR(12) NOT NULL,

    name CHAR(20),

    sex CHAR(10),

    PRIMARY KEY (no)

    );

    方法二:过滤删除重复值

    对于数据表中原有的数据,想要去除重复数据需要经过重复数据查找、过滤以及删除等步骤。

    1、统计重复数据mysql> SELECT COUNT(*) as repetitions,no

    -> FROM student

    -> GROUP BY no

    -> HAVING repetitions > 1;

    以上查询语句将返回student表中重复的记录数。

    2、过滤重复数据

    如果需要读取不重复的数据可以在SELECT 语句中使用 DISTINCT 关键字来过滤重复数据。mysql> SELECT DISTINCT no

    -> FROM student;

    也可以使用 GROUP BY 来读取数据表中不重复的数据mysql> SELECT no

    -> FROM student

    -> GROUP BY (no);

    3、删除重复数据

    删除数据表中重复数据,可以使用以下SQL语句:mysql> CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex);

    mysql> DROP TABLE student;

    mysql> ALTER TABLE tmp RENAME TO student;

    也可以在数据表中添加INDEX(索引)和 PRIMAY KEY(主键)来删除表中的重复记录,方法如下:mysql> ALTER IGNORE TABLE student

    -> ADD PRIMARY KEY (no);更多免费相关学习推荐:mysql数据库

    展开全文
  • List去除重复数据的五种方式

    千次阅读 2020-11-23 22:29:44
    使用LinkedHashSet删除arraylist中的重复数据2.使用java8新特性stream进行List去重3.利用HashSet4.利用List的contains方法5.双重for循环去重 前言 在很多时候,我们都需要对List里的数据进行去重,下面我们就介绍下...

    前言

    在很多时候,我们都需要对List里的数据进行去重,下面我们就介绍下List去除重复数据的五种方式

    1.使用LinkedHashSet删除arraylist中的重复数据

    LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事:

    1、删除重复数据

    2、保持添加到其中的数据的顺序

    使用LinkedHashSet删除arraylist中的重复项。在给定的示例中,numbersList是包含整数的arraylist,其中一些是重复的数字。

    例如1,3和5.我们将列表添加到LinkedHashSet,然后将内容返回到列表中。结果arraylist没有重复的整数。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.LinkedHashSet;
     
    public class ArrayListExample
     
    {
        public static void main(String[] args)
     
        {
     
            ArrayList<Integer> numbersList = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
     
            System.out.println(numbersList);
     
            LinkedHashSet<Integer> hashSet = new LinkedHashSet<>(numbersList);
     
            ArrayList<Integer> listWithoutDuplicates = new ArrayList<>(hashSet);
     
            System.out.println(listWithoutDuplicates);
     
        }
     
    }
    
    

    输出结果

    [1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8]
     
    [1, 2, 3, 4, 5, 6, 7, 8]
    

    2.使用java8新特性stream进行List去重

    要从arraylist中删除重复项,我们也可以使用java 8 stream api。使用steam的distinct()方法返回一个由不同数据组成的流,通过对象的equals()方法进行比较。

    收集所有区域数据List使用Collectors.toList()。

    用于在不使用Set的情况下从java中的arraylist中删除重复项。

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
     
    public class ArrayListExample
    {
        public static void main(String[] args)
     
        {
     
            ArrayList<Integer> numbersList = new ArrayList<>(Arrays.asList(1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8));
            System.out.println(numbersList);
            List<Integer> listWithoutDuplicates = numbersList.stream().distinct().collect(Collectors.toList());
     
            System.out.println(listWithoutDuplicates);
     
        }
     
    }
    
    
    

    输出结果

    [1, 1, 2, 3, 3, 3, 4, 5, 6, 6, 6, 7, 8]
     
    [1, 2, 3, 4, 5, 6, 7, 8]
    

    3.利用HashSet

    利用HashSet不能添加重复数据的特性 由于HashSet不能保证添加顺序,所以只能作为判断条件保证顺序:

    private static void removeDuplicate(List<String> list) {
        HashSet<String> set = new HashSet<String>(list.size());
        List<String> result = new ArrayList<String>(list.size());
        for (String str : list) {
            if (set.add(str)) {
                result.add(str);
            }
        }
        list.clear();
        list.addAll(result);
    }
    

    4.利用List的contains方法

    利用List的contains方法循环遍历,重新排序,只添加一次数据,避免重复:

    private static void removeDuplicate(List<String> list) {
        List<String> result = new ArrayList<String>(list.size());
        for (String str : list) {
            if (!result.contains(str)) {
                result.add(str);
            }
        }
        list.clear();
        list.addAll(result);
    }
    

    5.双重for循环去重

    for (int i = 0; i < list.size(); i++) { 
       for (int j = 0; j < list.size(); j++) { 
           if(i!=j&&list.get(i)==list.get(j)) { 
           list.remove(list.get(j)); 
       } 
    } 
    
    展开全文
  • Mysql去除重复数据

    万次阅读 多人点赞 2018-09-17 17:12:10
    最近工作业务上遇到需要去除重复数据,所以了解了一下如何去除某属性相同的数据! 1:查询出重复数据 以用户表user为例,我们需要去除login_name重复的数据,那么我们首先需要查询一下哪些数据是重复的。 sql如下...

    最近工作业务上遇到需要去除重复数据,所以了解了一下如何去除某属性相同的数据!

    1:查询出重复数据

    以用户表user为例,我们需要去除login_name重复的数据,那么我们首先需要查询一下哪些数据是重复的。

    sql如下:

    SELECT login_name FROM user GROUP BY login_name HAVING COUNT(login_name) > 1

    这条语句根据group by 和having count(login_name) 查询出了重复数据的login_name,如果有结果集,那么证明是有重复数据的,该如何去重呢?

    2:去除重复数据

    思考一下,我们可以根据查询出重复数据的login_name,来确定需要删除的数据的条件,我们可以这样写sql来进行重复数据的删除

    DELETE
    FROM
        `user`
    WHERE
        login_name IN (
            SELECT
                login_name
            FROM
                `user`
            GROUP BY
                login_name
            HAVING
                count(login_name) > 1
        )
    AND id NOT IN (
        SELECT
            min(id) AS aa
        FROM
            `user`
        GROUP BY
            login_name
        HAVING
            count(login_name) > 1
    );

    如上所示:查询出当前重复的login_name作为删除条件,但是不能将重复的数据全部删除完,所有我们查询出了重复数据当中的其中一个id,也就是min(id)作为不被删除的条件,当然也可以用max(id);这样我们执行一下;会发现报出了如下错误:

    [Err] 1093 - You can't specify target table 'user' for update in FROM clause

    这个错误的意思是:不能在同一表中查询的数据作为同一表的更新数据!那么我们可以中转一下,将查询出来的结果映射成一个表,就可以了!

    sql 如下:

    DELETE
    FROM
        `user`
    WHERE
        login_name IN (
            SELECT
                a.login_name
            FROM
                (
                    SELECT
                        login_name
                    FROM
                        `user`
                    GROUP BY
                        login_name
                    HAVING
                        count(login_name) > 1
                ) AS a
        )
    AND id NOT IN (
        SELECT
            b.aa
        FROM
            (
                SELECT
                    min(id) AS aa
                FROM
                    `user`
                GROUP BY
                    login_name
                HAVING
                    count(login_name) > 1
            ) AS b
    );
    

    执行该语句,发现执行成功,数据已经成功去重!

    展开全文
  • Java List去除重复数据的五种方式

    千次阅读 2021-01-17 00:18:15
    1.使用LinkedHashSet删除ArrayList中的重复数据 /** * 1.使用LinkedHashSet删除ArrayList中的重复数据 */ public static void fun1() { // 初始化数据 List<Integer> list = new ArrayList<>...
  • js数组去除重复数据

    万次阅读 2019-05-05 22:28:45
    与第一种方法类似,先遍历,然后判断当前数组的第i项在数组中第一次出现的位置是否与i相等,不是则说明重复,忽略,不加入新数组。 let oldArr = [ 1 , 2 , 3 , 4 , 5 , 5 , 6 , 7 , 8 ,...
  • Mysql select 如何去除重复数据

    千次阅读 2019-05-26 11:27:05
    如何避免重复数据 首先可以使用distinct字段 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 语法:SELECT DISTINCT 列...
  • oracle去除重复数据常用的方法

    万次阅读 多人点赞 2018-08-24 17:23:50
    创建测试数据 create table nayi224_180824(col_1 varchar2(10), col_2 varchar2(10), col_3 varchar2(10)); insert into nayi224_180824 select 1, 2, 3 from dual union all select 1, 2, 3 from dual union all...
  • jQuery 去除重复数据

    千次阅读 2018-11-26 13:49:34
    工作中肯定会碰见从接口中获取到的多条数据一样,如果在后台可以处理,尽量在后台处理掉,避免前台处理重复数据(用户是可以修改你的js文件的),下面说的是从接口中直接获取到的数据(当然了,这也不是我们自己提供...
  • 1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - 1 ...
  • Java中List集合去除重复数据的方法

    千次阅读 2019-05-05 10:14:44
    Java中List集合去除重复数据的方法:点击查看 list数据删除:点击查看 补充: list = list.stream().distinct().collect(Collectors.toList());
  • java List去除重复数据的五种方式

    万次阅读 多人点赞 2019-05-31 12:38:30
    以下介绍五种-不同的方法去除Java中ArrayList中的重复数据 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除重复数据的最佳方法。LinkedHashSet在内部完成两件事: 删除重复...
  • SQL去除重复数据

    千次阅读 2016-12-14 10:49:04
    SQL中去除完全相同数据可以用distinct关键字,任意字段去重可以用group by,以下面的数据表为例。 id name score 1 小王 51 2 小魏 61 3 小张 71 4 小李 51 5 小王 51 1.存在两条完全相同的纪录,...
  • 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 语法: SELECT DISTINCT 列名称 FROM 表名称 详细使用说明可查看此...
  • 去掉重复数据思路:创建一个新集合,遍历旧的集合,不包含就添加 private ArrayList getList(List arr) {  List list = new ArrayList();  Iterator it = arr.iterator();  while (it.hasNext()) {  Object...
  • 本文实例讲述了Java实现数组去除重复数据的方法。分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现,有...
  • 今天需要使用Django查询一列的字段(不含重复),搞了一上午,发现这样的事情:如图: 得到的数据几乎是相等的,没有区别。 但是仔细看会发现:下面的数据比起上面的还是少了一个。 解决办法: django的...
  • Postgresql去除重复数据的方法

    万次阅读 2016-07-28 09:48:32
    PostgreSQL删除重复数据 去重的方法一般是找到重复数据中的一条,以某一唯一条件去掉其他重复值。 Oracle 去重的方法很多,常用的是根据 rowid 进行去重。 PostgreSQL 库如何去除单表重复数据呢?可以通过 ctid ...
  • JAVA数组去除重复数据

    万次阅读 2016-08-29 15:28:02
    前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现,有好多方法可以实现,现在就总结一下,比较简单的几种。一.用List集合实现 int[] str = {5...
  • SQL查询返回去除重复数据的结果集

    千次阅读 2017-12-25 16:50:00
    方法一: select * from tablename where id in (select id from tablename group by id having count(id) > 1 ) 方法二: select DISTINCT t.* from ( select* from Goods g ) t 转载于:https:...
  • SQL去除重复数据(count函数的用法)

    万次阅读 2017-08-09 09:22:40
    (一)核心:采用分组的概念group by,利用count()函数统计每组的行数,如果行数大于1表示有多条重复数据,如果只有一行,则两个表中没有相同数据匹配,为多余的不同数据,就可以通过设置条件having count(列)&...
  • 本文介绍在使用爬虫采集互联网数据到Mongodb数据仓库后,需要对采集的数据进行各种操作时会发现数据很多是重复的内容,我们需要先将采集的数据进行数据去重的操作,方便后续业务快速开展。 Mongodb命令行去重 db....
  • Python Pandas去重复数据drop_duplicates详解

    万次阅读 多人点赞 2018-09-13 16:17:26
    pandas.DataFrame.drop_duplicates DataFrame.drop_duplicates(subset = None,keep ='first',inplace = False ) 参数 ...keep: {‘first’, ‘last’, False}, ...first:删除第一次出现的重复项。 last: ...
  • LibreOffice去重复数据

    千次阅读 2016-11-20 13:35:00
    菜单:数据--更多筛选---标准筛选 点开“选项”,勾上“无重复值”。 然后还可以把结果复制到其它单元格。  
  • vue中数组去重复数据

    千次阅读 2020-06-30 14:26:28
    数组数据调用unique方法去除重复数据。 let newarr= this.unique(arr); unique(newarr) { const res = new Map(); return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1)); }
  • sql根据其中一个字段去重复数据

    千次阅读 2017-03-30 15:56:47
    //这个是排除了重复的数据 即重复数据不出现  select * from ProductFigure where ProductId in (select ProductId from ProductFigure group by ProductId having count(ProductId) = 1) //重复数据中只有第一...
  • stata的清洗数据——去除重复数据

    万次阅读 2020-02-19 15:40:49
    文章目录stata清洗数据——去除重复数据方法stata中的_N和_n(是去重操作的基础)去重操作对单一列:id对两列(及以上):date 和 证券代码 stata清洗数据——去除重复数据方法 stata中的_N和_n(是去重操作的基础)...
  • 以下是我的导入excel工具类 ``` public class StuExcelUtil { public static List<Student> redexcel(File file) throws Exception{ List<Student> list=new ArrayList(); InputStream input=new ...
  • 然后根据No,Pass相同的数据,保留Max(ID)数据,删除其他,如何做? 我是这么做的,不知道行不行 delete Min(ID),CAST(No AS VARCHAR)+CAST(Pass AS VARCHAR) from Table group by No, Pass having count(*) > 1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,359,462
精华内容 943,784
关键字:

去重复数据

友情链接: claractercondition.rar