精华内容
下载资源
问答
  • 2020-07-14 05:04:52

    python 删除重复项

    There are many ways to remove duplicates from a Python List.

    有很多方法可以从Python列表中删除重复项。

    从列表中删除重复项 (Removing Duplicates from a List)

    Python list can contain duplicate elements. Let’s look into examples of removing the duplicate elements in different ways.

    Python列表可以包含重复的元素。 让我们看一下以不同方式删除重复元素的示例。

    1.使用临时列表 (1. Using Temporary List)

    This is the brute-force way to remove duplicate elements from a list. We will create a temporary list and append elements to it only if it’s not present.

    这是从列表中删除重复元素的蛮力方法。 我们将创建一个临时列表,并仅在不存在临时列表时才添加元素。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    temp = []
    
    for x in ints_list:
        if x not in temp:
            temp.append(x)
    
    ints_list = temp
    
    print(f'Updated List after removing duplicates = {temp}')

    Output: Updated List after removing duplicates = [1, 2, 3, 4]

    输出Updated List after removing duplicates = [1, 2, 3, 4]

    Recommended Reading: Python f-strings

    推荐读物Python f字符串

    2. set()函数 (2. set() function)

    Python set doesn’t have duplicate elements. We can use the built-in set() function to convert the list to a set, then use the list() function to convert it back to the list.

    Python集没有重复的元素。 我们可以使用内置的set()函数将列表转换为集合,然后使用list()函数将其转换回列表。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    ints_list1 = list(set(ints_list))
    print(ints_list1)  # [1, 2, 3, 4]

    3.列出元素作为字典键 (3. List elements as Dictionary Keys)

    We know that dictionary keys are unique. The dict class has fromkeys() function that accepts an iterable to create the dictionary with keys from the iterable.

    我们知道字典键是唯一的。 dict类具有fromkeys()函数,该函数接受可迭代的对象,以使用可迭代对象的键来创建字典。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    ints_list2 = list(dict.fromkeys(ints_list))
    print(ints_list2)  # [1, 2, 3, 4]

    4.列表count()函数 (4. List count() function)

    The list count() method returns the number of occurrences of the value. We can use it with the remove() method to eliminate the duplicate elements from the list.

    列表count()方法返回该值的出现次数。 我们可以将其与remove()方法一起使用,以从列表中消除重复的元素。

    ints_list = [1, 2, 3, 4, 3, 2]
    
    for x in ints_list:
        if ints_list.count(x) > 1:
            ints_list.remove(x)
    print(ints_list)  # [1, 2, 3, 4]

    5.清单理解 (5. List Comprehension)

    We can create a list from an iterable using the list comprehension. This technique is the same as using the temporary list and the for loop to remove the duplicate elements. But, it reduces the number of lines of the code.

    我们可以使用列表推导从可迭代对象创建列表。 此技术与使用临时列表和for循环删除重复的元素相同。 但是,它减少了代码的行数。

    int_list = [1, 2, 3, 4, 3, 2]
    temp = []
    [temp.append(x) for x in ints_list if x not in temp]
    print(temp)  # [1, 2, 3, 4]

    从列表中删除重复项的最佳方法 (Best Way to Remove Duplicates from a List)

    If you don’t want duplicate elements, you should use Set. But, if you have to remove the duplicate values from a list, then I would prefer count() function because it doesn’t create another temporary set or list object. So, it’s more memory efficient.

    如果不想重复元素,则应使用Set。 但是,如果必须从列表中删除重复的值,则我更喜欢count()函数,因为它不会创建另一个临时集或列表对象。 因此,它具有更高的内存效率。

    翻译自: https://www.journaldev.com/32742/python-remove-duplicates-from-list

    python 删除重复项

    更多相关内容
  • 主要介绍了python实现查找excel一列重复数据并且剔除后打印的方法,涉及Python使用xlrd模块操作Excel的相关技巧,需要的朋友可以参考下
  • Excel:删除一列中的重复

    千次阅读 2021-09-27 14:51:53
    year这一列有重复的年份,但是我想只保留一个重复值,怎么办? 解决办法:选中数据后,点击“数据”下的“删除重复值”,然后在弹出的对话框,只选择“year”列 结果如下: 但是有没有发现,默认是把重复...

    year这一列有重复的年份,但是我想只保留一个重复值,怎么办?

    解决办法:选中数据后,点击“数据”下的“删除重复值”,然后在弹出的对话框,只选择“year”列

     结果如下:

    但是有没有发现,默认是把重复项的第一重复行保留了。

    但是我想保留重复区域的最后一行呢?怎么办。例如下表,我想删除代码里的重复代码,但只保留重复区域的最后一行,即 我想保留000102代码的2010年的行,和000198代码的2011行.

     

     解决办法:善用排序

     将“代码”和“year”列合并在一起,构造一个独一无二的列“合并”。然后将“合并”列按照“降序排列”

     变成这样:

    这时候再采取上边的步骤:点击“数据”下的“删除重复值”即可。

    因为这里我们已经将想保留的行放在重复区域的第一行了。

     

     

     

    展开全文
  • 只有全力以赴,梦想才能起飞。

    系列文章目录

    前言

    一、需求描述

    有两列数据,需要合并列数据并删除重复项
    在这里插入图片描述

    二、数组公式

    1.公式一:

    在C2单元格输入如下公式:
    注意:数组公式要使用ctrl+shift+enter;

    =IF(AND(COUNTIF($C$1:C1, $A$2:$A$50)), INDEX($B$2:$B$50, MATCH(0, COUNTIF($C$1:C1, $B$2:$B$50), 0)), INDEX($A$2:$A$50, MATCH(0, COUNTIF($C$1:C1, $A$2:$A$50), 0)))
    

    在这里插入图片描述

    2.公式二:

    在D2单元格输入如下公式:
    注意:数组公式要使用ctrl+shift+enter;

    =IFERROR(INDEX($B$2:$B$50, MATCH(0, COUNTIF($D$1:D1, $B$2:$B$50), 0)), INDEX($A$2:$A$50, MATCH(0, COUNTIF($D$1:D1, $A$2:$A$50), 0)))
    

    在这里插入图片描述

    三、数据在同一列

    情景如下:
    在这里插入图片描述
    在T2单元格输入如下公式:
    注意:数组公式要使用ctrl+shift+enter;
    公式与上面一致,修改区域即可!!

    =IFERROR(INDEX($R$21:$R$50, MATCH(0, COUNTIF($T$1:T1, $R$21:$R$50), 0)), INDEX($R$1:$R$20, MATCH(0, COUNTIF($T$1:T1, $R$1:$R$20), 0)))
    

    在这里插入图片描述

    四、其它方法

    1、excel自带的删除重复项;
    2、数据透视表;
    在这里插入图片描述
    在这里插入图片描述


    总结

    分享:
    我一定要赢了自己,赢了伤痛,能够重新返回赛场。这样才能让那些怀疑我的人重新思考,什么叫将不可能变成可能。——科比、布莱恩特

    展开全文
  • 如何统计区域中以不重复项的数量? 思路分析 使用 COUNTIF 函数,在宿舍号中,分别统计每行宿舍号在整列中出现的次数,并以数组形式返回出现次数。 公式为:=COUNTIF(宿舍号,宿舍号) 针对某个宿舍号...

    不重复唯一值,这是在 Excel 里处理数据经常能遇到的问题。例如,统计不重复数量、筛选不重复值、删除重复值、提取重复值等。今天我们来学习,写统计不重复数量的公式。

    问题描述
    如何统计一区域中以不重复项的数量?
    在这里插入图片描述

    思路分析

    1. 使用 COUNTIF 函数,在宿舍号列中,分别统计每一行宿舍号在整列中出现的次数,并以数组形式返回出现次数。

       公式为:=COUNTIF(宿舍号,宿舍号)
      
    2. 针对某一个宿舍号,假设它出现了 n 次,那么在返回的出现次数数组中占用 n 个位置,并且每个位置的值为 n。

       例如数据列为 A, B, C, C, A, A,则返回的数组为,{3, 1, 2, 2, 3, 3},即 A 出现在3 个位置,每个位置的值为 3。
      
    3. 一个宿舍号无论出现多少次,都应只记一次。根据上述描述,如果将返回的出现次数数组里的每一项被一除并相加,刚好的到不重复项的数量。

       **例如,{3, 1, 2, 2, 3, 3}     → 1/3 + 1/1 + 1/2 + 1/2 + 1/3 + 1/3 = 3 。**
      

    方法步骤

    1. 输入 SUMPRODUCT函数:

       = SUMPRODUCT(
      
    2. 接着输入SUMPRODUCT 函数的参数,被一除的 COUNTIF 函数:

       =SUMPRODUCT(1/COUNTIF(
      
    3. 最后输入 COUNTIF 函数的参数,统计区域为宿舍号列,统计条件为所有的宿舍号。最后回车完成输入公式。

       =SUMPRODUCT(1/COUNTIF(B:B,B2:B19))
      

    在这里插入图片描述

    可能出现的错误

    当区域中含有空白单元格时,公式会出现 #DIV/0 错误。这是因为在 COUNTIF函数中,空白单元格在其两个参数表示不同的含义。

    当空白单元格在统计区域参数时,被当做空字符 “”;当在判断条件参数时,被当做零。因此当 COUNTIF 函数判断条件引用空白单元格时,其表示零,统计值为零。如果将其被一除,则返回 #DIV/0 错误。

    为了避免错误的产生,可以将判断条件连接一空字符,这样有内容的单元格不受影响,空白单元格则变成空字符,与统计区域保持一致。这种情况,空白单元格也计算为一个不重复项。

    =SUMPRODUCT(1/COUNTIF(B2:B19,B2:B19&""))

    总结
    你可能已经有疑问了,如何想到用 1 除?这个严格来说不是 Excel 问题,是算法问题。Excel 用两个函数巧妙的实现了该算法,最后得到目标值。建议记住该算法,在 Excel 很多问题上,会用到「1 除」概念,可以快速解决一些复杂的问题。

    作者:懒人Excel
    链接:https://www.jianshu.com/p/45016c1c1bce
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • 问题2:如果删除的是多列里重复的呢? 经常是这样的情况:比如需要联合查 第1和第2的,都重复的,只重复1个不算重复 key1 value1 key2 value2 key3 value3 key4 value4 key5 value5 ...
  • 根据要求对国家这一列进行筛重,得到新的文件不能有重复的国家名。 csv源文件部分数据如下: 处理后: 我的具体实现是用csv库去实现的(代码如下): 第一次写,多多包含!
  • 任意空白的第行输入 =countif(A$1:A1,A1) 往下填充到底 筛选这结果为1的,拷贝到新表中即可(不推荐删除,防止误删)
  • 位置:数据菜单下——获取和转换 、导入数据 从txt;...按分隔符取 五、删除重复项 常和排序一起使用:有奇效 保留第条 注意:排序后要检测 六、删除错误 可以制造错误 文本格式里面只能是文本,数字里面只能是数字
  • 来源:... 3、然后在数据菜单中,点击“删除重复项”选项。 4、然后在出现的窗口中,只选择有重复值的那一列,进行确定。 5、完成以上设置后,即可把wps表格一列有重复项的整行删掉。......
  • python 模仿excel中的‘删除重复项’功能,根据某行删除二维数组的重复项,但不使用drop_duplicates’函数实现
  • 来源 | https://medium.com/@cookbug/six-ways-to-remove-duplicates-from-list-in-python-970d998b1384 翻译 | 杨小爱 Python从列表中删除重复项的方法,在本文中出了6种方法,这些方法在许多应用程序中都会遇到...
  • 目前来看,Excel可以实现单行删除重复项,但是在Power Bi中,无法实现,只是可以全部删重(就像Excel选中全部再删重一样的效果) 过程: 众所周知:Excel的删除重复项是这样的: 1、选中某一列删重 (这一列...
  • 查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1)2、删除表中多余的重复记录,...
  • 根据autoID删除临时表#tmp中的重复数据,只保留每组重复数据中的第
  • 本例主要介绍如何在excel中合并同类项数据,也就是去除某字段数据的重复值,然后将对应的数据求和,方法很简单,也很实用,对于...3、选中C数据,选择【数据】-【删除重复项】。4、选择【以当前选定区域排序】,...
  • 今天跟大家分享一下如何删除重复项只保留最新项 1.打开Excel表格如下图我们想要得到每个产品最后的库存数量。 2.首先我们将表格按照日期升序排序,然后选择表格数据区域 3.接着我们点击下图...
  • 源数据及要求:删除黄忠和庞统的各重复数据,两个孙权因为班级不同,保留 数据结果展示: 代码解析: Sub DeleteSameRow1() '删除所有重复行,保留唯一值 Dim LastRow As Long Dim i, k, n As Long ...
  • 方法:可以在【数据】-【删除重复项】中直接删除重复的,剩下的就是不同值,看下个数就可以了。 方法二:利用sumproduct函数 解释: ①COUNTIF(A2:A17,A2:A17)找出每个单元格里的值在整个范围里面有几个重复值 ②...
  • SQL删除重复数据只保留

    千次阅读 2020-11-01 00:57:39
    SQL删除重复数据只保留条 用SQL语句,删除掉重复项只保留条 在几千条记录,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select *...
  • 只保留条,可选择id最大/最小的 select max(id) as store_id from table_name group by id having count(*)>1 上述查出的数据重新命名 (select max(id) as store_id from table_name group by
  • scala 去除重复元素List in Scala is a collection that stores data in the form of a liked-list. The list is an immutable data structure but may contain duplicate elements. And in real life ...
  • Excel函数学习:悟空百问の009:去除重复项的深入思考我们经常整理一些数据,数据不可以动原数据,又需要进行数据分析...本期重点方案删除重复值操作流程:菜单栏-数据-删除重复值方法剖析:删除重复值有几个注...
  • 批量标色表格两列的重复值为不同颜色,以及删除重复项一列
  • 用matlab如何删除数组中的重复元素例如删除A=[1,2,3,2,1,5,1,4]中的重复元素女人是水做的,男人是泥做的,李俊基李宇春都是水泥做的用matlab如何删除数组中的重复元素的方法。 如下参考: 1.打开matlab,在命令行...
  • 很多行政会遇到这样的问题,就是一个表格可能有几百上千行数据,表格里面的某一列或者几列有很多重复的项目,需要我们逐一合并。首先我们要有自己的excel数据,这个方法使用microsoft excel或者WPS都可以实现。比如...
  • power BI中删除表格重复行步骤

    千次阅读 2020-05-24 19:45:59
    由于种种原因导入power BI的数据存在重复行,需要删除,步骤如下: (1)“开始”-“编辑查询”:此时会新打开个窗口 ...(2)在新窗口中“选中目标列表头区域右键”-“删除重复项” 此时删除的是全表的重复行。 ...
  • 字典去除重复项问题

    千次阅读 2021-01-17 17:44:44
    首先,我像利用字典算法进行去除重复项。然后,由于清单中“名称”和“型号”都有可能相同,但是“名称”+“型号”是唯一的,所以需要对“名称”+“型号”输入字典,从而去除重复项。最后问题是,合并过程中“型号”...
  • 删除重复项->以前选中区域排序->删除重复项 然后删除对应成绩项选中张三对应成绩B2,选中函数SUMIF 以上即可得出对用姓名总的成绩 转载于:https://www.cnblogs.com/chaihy/p/10189657.html...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 99,955
精华内容 39,982
关键字:

一列里面删除重复项