精华内容
下载资源
问答
  • 去重 统计

    2020-07-22 20:52:55
    js去重 var a = [1,1,2,3,4,5,5,6]; var newArr = []; var o = {}; // { 1:true, 2:true} for (let i = 0; i < a.length; i++) { var t = a[i]; if(o[t]){ // 标记是否处理过 }else{ newArr.push(a[i]); ...

    js去重

    var a = [1,1,2,3,4,5,5,6];
        var newArr = [];
        var o = {};  // { 1:true, 2:true}
        for (let i = 0; i < a.length; i++) {
            var t = a[i];
            if(o[t]){  // 标记是否处理过
    
            }else{
                newArr.push(a[i]);
                o[t] = true;
            }
        }
        console.log(newArr)
    

    统计

      var a = [1,1,2,3,4,5,5,6];
        function f(a) {
            var obj = {};
            for (let i = 0; i < a.length; i++) {
                var t = a[i];
                if (obj.hasOwnProperty(t)){    
                //hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)
                    obj[t] = obj[t]+1;
                }else{
                    obj[t] = 1;
                }
            }
            return obj;
        }
        console.log(f(a)); // {1:1,2:1}
    
    展开全文
  • awk命令去重,sort, uniq命令去重统计 利用Linux命令行进行文本按行去重并按重复次数排序 linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用Linux...

    转载《利用Linux命令行进行文本按行去重并按重复次数排序》
    转载《awk使用案例:通过awk去除重复行》

    awk命令去重,sort, uniq命令去重统计

    利用Linux命令行进行文本按行去重并按重复次数排序

    linux命令行提供了非常强大的文本处理功能,组合利用linux命令能实现好多强大的功能。本文这里举例说明如何利用Linux命令行进行文本按行去重并按重复次数排序。主要用到的命令有sort,uniq和cut。其中,sort主要功能是排序,uniq主要功能是实现相邻文本行的去重,cut可以从文本行中提取相应的文本列(简单地说,就是按列操作文本行)。

    用于演示的测试文件内容如下:

    Hello World.
    Apple and Nokia.
    Hello World.
    I wanna buy an Apple device.
    The Iphone of Apple company.
    Hello World.
    The Iphone of Apple company.
    My name is Friendfish.
    Hello World.
    Apple and Nokia.
    实现命令及过程如下:

    1、文本行去重

    (1)排序
    由于uniq命令只能对相邻行进行去重复操作,所以在进行去重前,先要对文本行进行排序,使重复行集中到一起。
    $ sort test.txt
    Apple and Nokia.
    Apple and Nokia.
    Hello World.
    Hello World.
    Hello World.
    Hello World.
    I wanna buy an Apple device.
    My name is Friendfish.
    The Iphone of Apple company.
    The Iphone of Apple company.

    (2)去掉相邻的重复行
    $ sort test.txt | uniq
    Apple and Nokia.
    Hello World.
    I wanna buy an Apple device.
    My name is Friendfish.
    The Iphone of Apple company.

    2、文本行去重并按重复次数排序
    (1)首先,对文本行进行去重并统计重复次数(uniq命令加-c选项可以实现对重复次数进行统计。)。
    $ sort test.txt | uniq -c
    2 Apple and Nokia.
    4 Hello World.
    1 I wanna buy an Apple device.
    1 My name is Friendfish.
    2 The Iphone of Apple company.

    (2)对文本行按重复次数进行排序。
    sort -n可以识别每行开头的数字,并按其大小对文本行进行排序。默认是按升序排列,如果想要按降序要加-r选项(sort -rn)。
    $ sort test.txt | uniq -c | sort -rn
    4 Hello World.
    2 The Iphone of Apple company.
    2 Apple and Nokia.
    1 My name is Friendfish.

    (3)每行前面的删除重复次数。
    cut命令可以按列操作文本行。可以看出前面的重复次数占8个字符,因此,可以用命令cut -c 9- 取出每行第9个及其以后的字符。
    $ sort test.txt | uniq -c | sort -rn | cut -c 9-
    Hello World.
    The Iphone of Apple company.
    Apple and Nokia.
    My name is Friendfish.
    I wanna buy an Apple device.
    下面附带说一下cut命令的使用,用法如下:

    cut -b list [-n] [file …]
    cut -c list [file …]
    cut -f list [-d delim][-s][file …]

    上面的-b、-c、-f分别表示字节、字符、字段(即byte、character、field);
    list表示-b、-c、-f操作范围,-n常常表示具体数字;
    file表示的自然是要操作的文本文件的名称;
    delim(英文全写:delimiter)表示分隔符,默认情况下为TAB;
    -s表示不包括那些不含分隔符的行(这样有利于去掉注释和标题)
    三种方式中,表示从指定的范围中提取字节(-b)、或字符(-c)、或字段(-f)。

    范围的表示方法:
    n 只有第n项
    n- 从第n项一直到行尾
    n-m 从第n项到第m项(包括m)
    -m 从一行的开始到第m项(包括m)
    - 从一行的开始到结束的所有项
    在写这篇文章的时候,用到了vim的大小写转化的快捷键:gu变小写,gU变大写。结合ctrl+v能够将一片文字中的字符进行大小写转换,非常好用。

    awk命令去除文件中重复数据的办法

      首先准备一个文本文件,随便写个文件,包含重复行数据的即可,或者你可以参考我这里的文件:

    CodingAnts@ubuntu:~/awk$ cat dup
    hello world
    awk
    coding ants
    hello world
    awk
    hello world
    awk
    coding ants
    coding ants
    

      共有9行,后面6行都是重复的前面的几行,最终的效果应该是只显示上面重点显示的那几行,先来看看效果:

    CodingAnts@ubuntu:~/awk$ awk '!a[$0]++' dup
    hello world
    awk
    coding ants
    

      在《awk程序指令模型》中介绍了awk的程序指令由模式和操作组成,即Pattern { Action }的形式,如果省略Action,则默认执行 print $0 的操作。

      实现去除重复功能的就是这里的Pattern:

    !a[$0]++
    

      在awk中,对于未初始化的数组变量,在进行数值运算的时候,会赋予初值0,因此a[$0]=0,++运算符的特性是先取值,后加1,因此Pattern等价于

    !0
    

      而0为假,!为取反,因此整个Pattern最后的结果为1,相当于if(1),Pattern匹配成功,输出当前记录,对于dup文件,前3条记录的处理方式都是如此。

      当读取第4行数据“hello world”的时候,a[$0]=1,取反后的结果为0,即Pattern为0,Pattern匹配失败,因此不输出这条记录,后续的数据以此类推,最终成功实现去除文件中的重复行。

    展开全文
  • 去重条件计数(excel去重统计个数)2020-05-08 11:12:07共10个回答为达成效果,花时间完全照你的重录一遍,因为你没有列标行号,故以我下图为例,在充值人数去重合计栏的G2单元格输入公式=TEXT(SUMPRODUCT(VALUE(H2:J2)),...

    去重条件计数(excel去重统计个数)

    2020-05-08 11:12:07

    共10个回答

    为达成效果,花时间完全照你的重录一遍,因为你没有列标行号,故以我下图为例,在充值人数去重合计栏的G2单元格输入公式=TEXT(SUMPRODUCT(VALUE(H2:J2)),"

    B16:=SUMPRODUCT((A$4:A$11=A16)*(MATCH(A$4:A$11&C$4:C$11,A$4:A$11&C$4:C$11,0)=ROW(A$4:A$11)-3))C16:=SUMPRODUCT((A$4:A$11&B$4:B$11=A16&

    公式为:=SUM(1/COUNTIF(OFFSET($B$2,MATCH(C2,C:C,0)-2,2,COUNTIF(C:C,C2),1),OFFSET($B$2,MATCH(C2,C:C,0)-2,2,COUNTIF(C:C,C2),1))),编辑状态按ctrl+shift+enter转为数组人名有重复的,所以用考勤号码作为判断条件.每人7点前的公式为:=COUNTIF(OFFSET($B$2,MATCH(C2,$C$1:$C$15182,0)-2,3,COUNTIF($C$1:$C$15182,C2),1),"评论000

    本问题不知是否完全理解了提问人的意图,是不是这样的?当A列数据等于D列的数弹出的对话框中选择“非重复计数”,即可得到要求的结果公式截图如下

    假设吧套统计的属性x放在D2公式:=SUM((B1:B100=D2)*IF(MATCH(A1:A100&B1:B100&"",A1:A100&B1:B100&"",)=ROW(A1:B100),1,0))可以统计出A列中具有D2指定属性的不重复的个数.注意是{数组公式},按组合键【Ctrl+Shift+Enter】三键结束公式输入,效果如图,附件请下载参考

    1)B16公式=COUNT(1/FREQUENCY(ROW($1:$9),MATCH($C$4:$C$11,$C$4:$C$11,)*($A$4:$A$11=A16)))-1(2)C16公式=COUNT(1/FREQUENCY(ROW($1:$9),MATCH($C$4:$C$11,$C$4:$C$11,)*($B$4:$B$11="A")*($A$4:$A$11=A16)))-1(3)D16公式=COUNT(1/FREQUENCY(ROW($1:$9),MATCH($C$4:$C$11,$C$4:$C$11,)*($B$4:$B$11="B")*($A$4:$A$11=A16)))-1

    在l2单元格中写入公式:=sumproduct(($f$2:$f$2000=j2)*($i$2:$i$2000=k2))下拉复制公式即可.

    设为表1,字段:年统计结果放在新表(表2中),用一下SQL语句:SELECT表1.年,Count(表1.年)AS出现次数INTO表2FROM表1GROUPBY表1.年ORDERBY表1.年你可以试试,看看表2中的内容是不是你要的结果.

    c2输入=if(countis(a$2:a2,a2,b$2:b2,b2)=1,"","重复")下拉复制填充然后排序手动删除带有"重复"的行

    见样表截图G2输入=SUMPRODUCT(($A$2:$A$22=F2)*($D$2:$D$22<>0)/COUNTIFS($B$2:$B$22,$B$2:$B$22,$D$2:$D$22,$D$2:$D$22))公式下拉

    展开全文
  • SQL去重统计

    万次阅读 2018-10-13 08:49:19
    SQL去重统计总数 A存在邀请n个账号的情况 无论A邀请多少个账号,都算1次,那么就要去重统计了 select count(distinct 去重字段) from 表

    SQL去重统计总数

    单个账号存在邀请n个账号的情况
    在这里插入图片描述

    无论单个账号邀请多少个账号,都算1次,那么就要去重统计了

    select count(distinct 去重字段) from 表
    
    展开全文
  • kibana去重统计和分组统计

    千次阅读 2020-08-06 16:02:42
    Aggregation:统计类型,选择 unique Count,去重统计 Field: 统计字段,这里统计手机号 执行统计操作 显示统计结果 分组统计 举例:在上面的基础上,对请求版本字段进行分组 基于上面一个的手机号去重统计...
  • 三种EXCEL去重统计方法

    万次阅读 2019-05-31 14:41:52
    数据去重统计是常用的一个功能,如果你还没有做过数据去重统计,就说明你离数据分析还很远。 好了,开始上干货。 方法一:先去重,再统计 先使用“删除重复项”功能按要统计的字段去重,如下图所示 然后再用...
  • MySQL去重统计

    2019-12-23 12:07:39
    场景是这样的,要对某一个表里面的数据进行统计,但是可能会有重复数据,下面就是针对person 表,查询表中男女的去重统计,假如有的名字重复了。重名的不查出来 SELECT count( CASE WHEN p.sex= "01" THEN 1 ELSE ...
  • HyperLogLog算法 也就是基数估计统计算法,预估一个集合中不同数据的个数,也就是我们常说的去重统计,在redis中也存在hyperloglog 类型的结构,能够使用12k的内存,允许误差在0.81%的情况下统计2^64个数据,在这种...
  • es多字段分组去重统计

    千次阅读 2019-11-04 10:15:09
    es多字段分组去重统计 oracle中sql: select a1 ,b1 from dual group by a1 ,b1 或 select DISTINCT a1 ,b1 from dual es分组去重统计: (话不多说,直接贴代码) TermsAggregationBuilder mobilesBuilder = ...
  • TP去重统计查询

    千次阅读 2018-03-20 19:33:19
    TP去重统计查询当统计一个有重复的字段可以用这个方法$count = $model-&gt;where($map)-&gt;count('distinct(id)');
  • 1、题记Elasticsearch有没有类似mysql的distinct的去重功能呢?1)如何去重计数?类似mysql: select distinct(count(1)) from my_...2、需求1)对ES的检索结果进行去重统计计数。2)对ES的检索结果去重后显示3、分析1)...
  • Elasticsearch 去重统计 按照deviceId 去重统计总数 相当于SQL SELECT COUNT(DISTINCT deviceId ) FROM log_info where userName= 'admin' and operateTime > '2020-05-18 00:00:00' andperateTime < '2020...
  • es多字段分组去重统计oracle中sql:select a1 ,b1 from dual group by a1 ,b1或select DISTINCT a1 ,b1 from duales分组去重统计:(话不多说,直接贴代码)TermsAggregationBuilder mobilesBuilder = ...
  • python pandas 分组后去重统计

    万次阅读 2019-01-10 11:21:53
    python pandas 分组后去重统计方法一方法二 有DataFrame: df = pd.DataFrame({ 'group': [1, 1, 2, 3, 3, 3, 4], 'param': ['a', 'a', 'b', np.nan, 'a', 'a', np.nan] }) print(df) # group param # 0...
  • 【SQL】:去重统计

    千次阅读 2019-05-31 15:42:20
    SQL去重统计总数 表中存在一个账号多条记录情况,一个账号算一个客户,计算有多少个客户,并且客户份额不为0? select count(distinct t.c_fundacco) from tstaticshares t where t.f_realshares <> ‘0’ ; ...
  • Count(Distinct) 去重统计

    千次阅读 2019-10-06 09:23:28
    Count(Distinct) 去重统计 数据量小的时候无所谓,数据量大的情况下,由于COUNT DISTINCT操作需要用一个Reduce Task来完成,这一个Reduce需要处理的数据量太大,就会导致整个Job很难完成,一般COUNT DISTINCT使用先...
  • DISTINCT 方法用于返回唯一不同的值 官方文档给出的示例: $Model->distinct(true)->field('userName')->select();...解析的SQL:SELECT DISTINCT `...去重统计: $totalRows = $this->where($wher...
  • 1. 去重统计问题 需求: 查出某张表中某个字段的个数, 需要去重. hql :select count(DISTINCT s.teacher.id) from student as s 注意: distinct 去重, 与字段之间不能有 ( , 否则会报错 2. 将 null 值转...
  • Elasticsearch6.X 去重统计详解

    千次阅读 2019-03-15 16:46:12
    1、题记 Elasticsearch有没有类似mysql的distinct的去重功能呢? 1)如何去重计数? 类似mysql: select distinct(count(1)) from my_table;...1)对ES的检索结果进行去重统计计数。 2)对ES的检索结...
  • 之前用 Python 写过一个脚本,用来处理上千万用户的一些数据,其中有一个需求是统计用户的某一数据的去重数量。为了加快程序的速度,我启用了多进程。但不幸的是,程序跑了近一个星期,还没处理完。这时,我感觉到了...
  • 去重统计求和

    2020-03-19 09:57:02
    一部分相同的字段通过max结合group by去重,然后再统计 SELECT T.fun_name as "模块名", T.event_code as "事件编码", SUM(click_records) as "点击数量", round(SUM(stay_time)/60000,0) as "使用时长(单位:分钟...
  • hive去重统计

    2018-12-11 10:59:49
    hive去重多行数据并统计 这个是练习数据部分截图,可以看出有部分重复数据 OK我们先进入hive 然后创建库uid create database uid; 然后创建表uid_id create table uid_id(uid_id int); 然后去重 select...
  • 1、去重统计数据表行数:select count(distinct col_name) from table_name;2、统计行数select count(*) from table_name;3、可以使用mysql的数据库INFORMATION_SCHEMA查询关于数据库或者数据表的各类信息4、还有个...
  • count去重统计

    2021-01-05 10:20:52
    $list = self::where($where_day) ->alias("gl") //取一个别名 ->fieldRaw('gl.goods_id,gl.goods_name,COUNT( CASE WHEN gl.type=10 THEN gl.type END) as enter,COUNT(DISTINCT CASE WHEN gl.type=40 ...
  • linux去重统计

    2020-11-13 14:06:06
    https://blog.csdn.net/feng973/article/details/73849586
  • Hive去重统计

    2019-11-01 22:01:09
    select count(distinct AccountID) from CharacterLogin where day="27" and month="10";
  • 在hive中,如果遇到多维度组合统计,并且要进行去重统计,例如统计不同维度组合的访问用户数,比如统计运营商、手机品牌、网络类型的用户数,怎样避免不用ditinct(因为distinct效率低),并且grouping__id和以前...
  • mongo去重统计

    2017-11-10 10:50:00
    适合特定条件下,对某些字段进行去重筛选。(比如限定抢购) 第一种,使用\(first操作符。\)first 会把数组的第一个元素取出,作为一个对象。 // 第一种(可转java版本) db.getCollection('parkUserCost...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,763
精华内容 1,105
关键字:

去重统计