精华内容
下载资源
问答
  • import numpy as np import pandas as pd #标记DataFrame重复例子 df = pd.DataFrame({'col1': ['one', 'one', 'two', 'two', 'two', 'three', 'four'], 'col2': [1, 2, 1, 2, 1, 1, 1], 'col3':['AA'...
    import numpy as np
    import pandas as pd 
    #标记DataFrame重复例子
    df = pd.DataFrame({'col1': ['one', 'one', 'two', 'two', 'two', 'three', 'four'], 'col2': [1, 2, 1, 2, 1, 1, 1],
                       'col3':['AA','BB','CC','DD','EE','FF','GG']},index=['a', 'a', 'b', 'c', 'b', 'a','c'])
    #duplicated(self, subset=None, keep='first')
    #根据列名标记
    #keep='first'
    df.duplicated()#默认所有列,无重复记录
    df.duplicated('col1')#第二、四、五行被标记为重复
    df.duplicated(['col1','col2'])#第五行被标记为重复
    
    展开全文
  • Excel删除重复值、统计重复次数、以及标记两列重复。

    问题场景


    • 删除重复值;

    • 统计重复项出现的次数;

    • 对比两列,找出重复项。

    场景一


    • 某列员工编号user_id相当于身份证,可以唯一代表这个人,需要删除重复项。

    img

    目标


    • 将user_id重复的人员所在行都删除,只留下唯一编号所在的行。

    解决方案


    用Excel自带去重功能实现。

    • 第一步:选中A列——>点击功能选项【数据】——>点击【删除重复项】——>选择【扩展选定区域】——>点击【删除重复项】。

      • 选择扩展选定区域是因为重复项所在的行的数据也需要删除。

    img

    • 第二步:最后结果,保留了8个唯一的值。

    img

    场景二


    • Task任务表中,可以根据任务处理人出现的次数来统计每个人分别有几个任务。

    img

    目标


    • 通过统计UserID编号重复出现的次数来代表这个人有几个任务。

    解决方案


    用COUNTIF()函数。

    • 函数解释:
    =countif(range,criteria)
    #COUNTIF 是一个统计函数,用于统计满足某个条件的单元格的数量。
    #range:要查找的区域;criteria:要查找的的内容,返回该内容出现的次数。
    
    • 第一步:在H2单元格英文状态下输入:=COUNTIF(B:B,B2)。

    img

    • 第二步:鼠标移到H2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。

    img

    • 第三步:最后结果。

    img

    注意:


    • 如果要去重后的唯一值,就扩展区域删除重复项。

    场景三


    • 对比2月份和3月份人员信息,统计人员离职情况和入职情况。

      • 2月份的人员到3月份时人员不在的,默认离职,比如:张晓桦、陈尘等。

      • 3月份人员跟2月份相比新增了员工,默认新入职,比如黄蓉、令狐冲等。

      • 简言之,找A列有B列没有、A列没有B列有的。

    img

    目标一


    • 两列对比找出离职人员。

    解决方案


    • 第一步:在C2单元格英文状态下输入:=COUNTIF(E:E,B2)。

      • 公式解释:找离职人员,从3月E列查找B2单元格【彭晓一】,有重复的就会返回重复次数,返回0就证明3月份【彭晓一】已经离职了。

      • 实际业务场景中用D列当查找区域,因为E列姓名是不具有唯一性的。

    img

    • 第二步:鼠标移到C2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。

    img

    • 第三步:最后结果,圈出的是已经离职的。

    img

    另一种方案


    • 用if()函数嵌套更直观,在C列输入:=IF(COUNTIF(E:E,B2)=0,“离职”,“在职”)。

    img

    目标二


    • 两列对比找出新入职人员。

    解决方案


    • 第一步:在F2单元格英文状态下输入:=COUNTIF(B:B,E2)。

      • 公式解释:找离职人员,从2月B列查找E2单元格【彭晓一】,有重复的就会返回重复次数,返回大于0的数,说明不是新入职的,返回0说明新入职。

    img

    • 第二步:鼠标移到F2单元格的右下角,出现实心的黑色【+】号,双击填充此公式。

    img

    • 第三步:最后结果,圈出的是新入职的员工。

    img

    总结


    • 实际业务场景中,对于重复项的处理可以采用不同的函数,对比两列数据找重复值还可以用vlookup函数进行处理。

    • 主要的目的是在于了解函数,之后会写该函数的一些使用场景。

    展开全文
  • Pandas标记删除重复记录

    万次阅读 2017-06-02 17:59:45
    Pandas提供了duplicated、Index....duplicated函数用于标记Series中的、DataFrame中的记录行是否是重复重复为True,不重复为False pandas.DataFrame.duplicated(self, subset=None, keep=’first’) pandas.Seri

    Pandas提供了duplicated、Index.duplicated、drop_duplicates函数来标记及删除重复记录

    duplicated函数用于标记Series中的值、DataFrame中的记录行是否是重复,重复为True,不重复为False

    pandas.DataFrame.duplicated(self, subset=None, keep=’first’)

    pandas.Series.duplicated(self, keep=’first’)

    其中参数解释如下:

    subset:用于识别重复的列标签或列标签序列,默认所有列标签

    keep=‘frist’:除了第一次出现外,其余相同的被标记为重复

    keep=’last’:除了最后一次出现外,其余相同的被标记为重复

    keep=False:所有相同的都被标记为重复

    1. import numpy as np  
    2. import pandas as pd   
    3. #标记DataFrame重复例子  
    4. df = pd.DataFrame({’col1’: [‘one’‘one’‘two’‘two’‘two’‘three’‘four’], ‘col2’: [1212111],  
    5.                    ’col3’:[‘AA’,‘BB’,‘CC’,‘DD’,‘EE’,‘FF’,‘GG’]},index=[‘a’‘a’‘b’‘c’‘b’‘a’,‘c’])  
    6. #duplicated(self, subset=None, keep=’first’)  
    7. #根据列名标记  
    8. #keep=’first’  
    9. df.duplicated()#默认所有列,无重复记录  
    10. df.duplicated(’col1’)#第二、四、五行被标记为重复  
    11. df.duplicated([’col1’,‘col2’])#第五行被标记为重复  
    12. #keep=’last’  
    13. df.duplicated(’col1’,‘last’)#第一、三、四行被标记重复  
    14. df.duplicated([’col1’,‘col2’],keep=‘last’)#第三行被标记为重复  
    15. #keep=False  
    16. df.duplicated(’col1’,False)#Series([True,True,True,True,True,False,False],index=[‘a’,’a’,’b’,’c’,’b’,’a’,’c’])  
    17. df.duplicated([’col1’,‘col2’],keep=False)#在col1和col2列上出现相同的,都被标记为重复  
    18. type(df.duplicated([’col1’,‘col2’],keep=False))#pandas.core.series.Series  
    19. #根据索引标记  
    20. df.index.duplicated()#默认keep=’first’,第二、五、七行被标记为重复  
    21. df.index.duplicated(keep=’last’)#第一、二、三、四被标记为重复  
    22. df[df.index.duplicated()]#获取重复记录行  
    23. df[~df.index.duplicated(’last’)]#获取不重复记录行  
    24. #标记Series重复例子  
    25. #duplicated(self, keep=’first’)  
    26. s = pd.Series([’one’‘one’‘two’‘two’‘two’‘three’‘four’] ,index= [‘a’‘a’‘b’‘c’‘b’‘a’,‘c’],name=‘sname’)  
    27. s.duplicated()  
    28. s.duplicated(’last’)  
    29. s.duplicated(False)  
    30. #根据索引标记  
    31. s.index.duplicated()  
    32. s.index.duplicated(’last’)  
    33. s.index.duplicated(False)  
    import numpy as np
    import pandas as pd 
    
    
    
    
    
    #标记DataFrame重复例子 df = pd.DataFrame({'col1': ['one', 'one', 'two', 'two', 'two', 'three', 'four'], 'col2': [1, 2, 1, 2, 1, 1, 1], 'col3':['AA','BB','CC','DD','EE','FF','GG']},index=['a', 'a', 'b', 'c', 'b', 'a','c']) #duplicated(self, subset=None, keep='first') #根据列名标记 #keep='first' df.duplicated()#默认所有列,无重复记录 df.duplicated('col1')#第二、四、五行被标记为重复 df.duplicated(['col1','col2'])#第五行被标记为重复 #keep='last' df.duplicated('col1','last')#第一、三、四行被标记重复 df.duplicated(['col1','col2'],keep='last')#第三行被标记为重复 #keep=False df.duplicated('col1',False)#Series([True,True,True,True,True,False,False],index=['a','a','b','c','b','a','c']) df.duplicated(['col1','col2'],keep=False)#在col1和col2列上出现相同的,都被标记为重复 type(df.duplicated(['col1','col2'],keep=False))#pandas.core.series.Series #根据索引标记 df.index.duplicated()#默认keep='first',第二、五、七行被标记为重复 df.index.duplicated(keep='last')#第一、二、三、四被标记为重复 df[df.index.duplicated()]#获取重复记录行 df[~df.index.duplicated('last')]#获取不重复记录行 #标记Series重复例子 #duplicated(self, keep='first') s = pd.Series(['one', 'one', 'two', 'two', 'two', 'three', 'four'] ,index= ['a', 'a', 'b', 'c', 'b', 'a','c'],name='sname') s.duplicated() s.duplicated('last') s.duplicated(False) #根据索引标记 s.index.duplicated() s.index.duplicated('last') s.index.duplicated(False)

    drop_duplicates函数用于删除Series、DataFrame中重复记录,并返回删除重复后的结果

    pandas.DataFrame.drop_duplicates(self, subset=None, keep=’first’, inplace=False)

    pandas.Series.drop_duplicates(self, keep=’first’, inplace=False)

    1. #删除DataFrame重复记录例子  
    2. #drop_duplicates(self, subset=None, keep=’first’, inplace=False)  
    3. df.drop_duplicates()  
    4. df.drop_duplicates(’col1’)#删除了df.duplicated(‘col1’)标记的重复记录  
    5. df.drop_duplicates(’col1’,‘last’)#删除了df.duplicated(‘col1’,’last’)标记的重复记录  
    6. df1.drop_duplicates([’col1’,‘col2’])#删除了df.duplicated([‘col1’,’col2’])标记的重复记录  
    7. df.drop_duplicates(’col1’,keep=‘last’,inplace=True)#inplace=True表示在原DataFrame上执行删除操作  
    8. df.drop_duplicates(’col1’,keep=‘last’,inplace=False)#inplace=False返回一个副本  
    9. #删除Series重复记录例子  
    10. #drop_duplicates(self, keep=’first’, inplace=False)  
    11. s.drop_duplicates()  
    #删除DataFrame重复记录例子
    
    
    
    
    
    #drop_duplicates(self, subset=None, keep='first', inplace=False) df.drop_duplicates() df.drop_duplicates('col1')#删除了df.duplicated('col1')标记的重复记录 df.drop_duplicates('col1','last')#删除了df.duplicated('col1','last')标记的重复记录 df1.drop_duplicates(['col1','col2'])#删除了df.duplicated(['col1','col2'])标记的重复记录 df.drop_duplicates('col1',keep='last',inplace=True)#inplace=True表示在原DataFrame上执行删除操作 df.drop_duplicates('col1',keep='last',inplace=False)#inplace=False返回一个副本 #删除Series重复记录例子 #drop_duplicates(self, keep='first', inplace=False) s.drop_duplicates()

    展开全文
  • Excel 标记重复多余项

    2020-05-25 12:01:13
    这里有列数据,需要将重复项筛选出来。 在开始菜单的条件格式中,选择重复值

    这里有一列数据,需要将重复多余项标记筛选出来。
    在这里插入图片描述

    在开始菜单的条件格式中,选择重复值。
    在这里插入图片描述

    在这里插入图片描述

    标红部分为重复的订单号。
    在这里插入图片描述

    要将重复的数据标记出来,还需使用Countif。
    在这里插入图片描述

    公式【=COUNTIF(A2:A2,A2)】指的是,在A2到A2的区域内对A2单元格中的数据进行计数统计。
    需要进行锁定。

    在这里插入图片描述

    锁定公式为【=COUNTIF($A$2:A2,A2)】,将A2锁定为计数区间起始值,结束值为该数据所在行(大白话就是:从A2开始数,数到我这一行,看我出现了几次)。

    在这里插入图片描述

    仔细观察上图可发现,重复数据的计数都为2及以上。
    所以在外层嵌套if函数:【=IF(COUNTIF($A$2:A2,A2)>1,“重复数据”,"")】
    在这里插入图片描述

    这样就可以有效筛选出重复项了。

    展开全文
  • 重复值处理duplicated()

    千次阅读 2020-07-09 20:30:50
    重复值标记为True,否则标为False,默认后面出现的被标记为True duplicated(subset=None, keep='first') # subset:用于识别重复出现的列标签或列标签序列,默认识别所有的列标签 # keep: 删除重复项并保留第一出现...
  • 查找重复行,并标记

    千次阅读 2018-11-12 15:59:46
    目的:查找重复行,并标记出来。有意思的地方在于,不同于以前处理的简单双重循环,这里需要在外层循环进行限定(num = num + 1),以避免冗余运算。 Option Explicit Sub Lookup() Dim r As Long, c As Long, i ...
  • 标记多行数据一样的行  我这里有列数据,现在想识别出多行数据连续一样的目的行,数据如下左图所示: 这里可以对F1单元格使用这样的公式:=IF(AND(E1=E2,E2=E3,E3=E4,E4=E5,E5=E6,E6=E7,E7=E8,E8=E9,E9=E10,...
  • 连通区域标记算法

    千次阅读 2013-04-08 17:10:22
    图像的连通区域标记过程:从仅由”1”像素(前景点)和”0”像素(背景点)组成的幅点阵图像中,将相互邻接的”1像素组合成区域,并用边界信息来描述每连通区域。 传统的连通区域标记方法通常要对二...
  • MATLAB二图连通域快速标记算法

    千次阅读 2019-10-16 11:26:59
    MATLAB二维/三维二图像连通域的快速标记算法。避开MATLAB函数库,方便改写为C/C++。
  • 图像连通区域标记

    千次阅读 2015-10-10 13:18:03
    这里列举二图像连通域...、直接扫描标记算法把连续区域作同一个标记,常见的四邻域标记算法和八邻域标记算法。 1、 四邻域标记算法: 1) 判断此点四邻域中的最左,最上有没有点,如果都没有点,则表示
  • 删除单链表中重复

    千次阅读 2015-01-13 10:54:22
    用一动态辅助存储数组,每次要向辅助数组中放入元素时,让辅助数组的长度加1,最长时与单链表一样长,设一指针p,让它指向头结点,从单链表中第一个元素开始,将它的放入辅助数组中,然后依次访问单链表后面的...
  • 需要提取非重复元素,并使用减号连接,对于重复元素保留最后出现位置。 测试字符串:A-B-D-CC-C-C-F-C-E-C-D-E-CC-F 重复元素标记为蓝色,去重后结果为:A-B-C-D-E-CC-F 这字符提取规则相对简单,直接使用VBA...
  • Stata: 统计组内非重复值个

    千次阅读 2019-08-26 09:48:25
      作者: 李珍 (厦门大学) Stata 连享会: 知乎 | 简书 | 码云...文章目录连享会计量方法专题……方法: 使用 _n 和 egen 命令的 tag() 函数方法二:使用 egenmore 命令的 nvals() 函数1 下载安装2 语法结构3...
  • 图像连通域标记算法

    千次阅读 2015-05-31 22:21:35
    图像连通域标记算法 八邻域标记算法: 1) 判断此点八邻域中的最左,左上,最上,上右点的情况。如果都没有点,则表示一个新的区域的开始。 2) 如果此点八邻域中的最左有点,上右都有点,则标记此点为这两中...
  • 图像连通域标记算法与代码

    万次阅读 热门讨论 2009-08-07 15:46:00
    10:19:42二图像连通域标记算法与代码 这里列举二图像连通域标记算法包括直接扫描标记算法和二图像连通域标记快速算法、直接扫描标记算法把连续区域作同一个标记,常见的四邻域标记算法和八邻域标记算法。...
  • 查询数据 redis的应用场景: 网站高并发的主页数据 网站数据的排名 消息订阅 1.3redis——数据结构和对象的使用介绍 redis官网 微软写的windows下的redis 我们下载第一个 额案后基本一路默认就行了 安装后,服务...
  • 3.1 数据清洗:缺失值、异常值和重复值的处理-2代码实操说明:本文是《Python数据分析与数据化运营》中的“3.1 数据清洗:缺失值、异常值和重复值的处理-2 代码实操部分”。-----------------------------下面是正文...
  • Pandas统计指定列不重复的数目

    千次阅读 2019-10-31 19:14:01
    方法 方法: DataFrame.duplicated(subset = None,keep =‘first’ )返回boolean数组 一bool代表一行 参数: subset:用来指定特定的列,... first:标记重复,True除了第一出现。 last:标记重复,Tr...
  • 删除单链表中重复(Java版)

    千次阅读 2015-01-17 09:31:17
    用一动态辅助存储数组,每次要向辅助数组中放入元素时,让辅助数组的长度加1,最长时与单链表一样长,设一指针p,让它指向头结点,从单链表中第一个元素开始,将它的放入辅助数组中,然后依次访问单链表后面的...
  • 连通区标记是最基本的图像处理算法之,最近的项目中需要一个纯C语言实现的连通区标记算法,本以为如此基础的算法在网上能搜到现成代码,结果大失所望,讲解标记算法思想的文章很多,出代码实例的却很少,能找到...
  • Excel数据清洗之5种重复值处理方式

    千次阅读 2019-06-09 20:20:43
    使用菜单栏中的“删除重复值”功能,在弹出的选项框中勾选要删除的重复字段,如果只勾选“号码”,则只删除重复出现的号码;只勾选“开通业务”,则只删除重复的业务;两者都勾选,则是号码和开通业务一模一样,才把...
  • 01数据列缺失的4种处理方法数据缺失分为两种:种是行记录的缺失,这种情况又称数据记录丢失;另种是数据列的缺失,即由于各种原因导致的数据记录中某些列的空缺。不同的...
  • 100数,范围是0(1)~99 ,其中有一个重复,求重复的数字 1、有一个数组a[100],其中存储了1-99的整数,且只有一个数字是重复的。要求实现一个算法出这个重复的数。   题目的意思是总共有...
  • 1、有一个数组a[100],其中存储了1-99的整数,且只有一个数字是重复的。要求实现一个算法出这个重复的数。2、有一个长度为100数组,里面的数字从0到99,其中有2数字重复,请找出重复的那个数。
  • 去除重复,不重复的留下

    千次阅读 2017-02-06 13:37:25
    一道笔试题,就是查询出数据表中重复的记录,应该来说用过分组查寻的,这道题并不在话下,我们先来看看这张表 上图高亮部分的是重复的数据行,那么如何取出其中高亮的部分, 聚合函数 在解决这问题前,我们必需先...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 241,635
精华内容 96,654
关键字:

如何给第一个出现的重复值标记1