精华内容
下载资源
问答
  • Excel函数实例:提取唯一&统计重复个数 查看密码:000
  • 例如,有如下数字: df = pd.DataFrame({'a': ['A', 'A', 'A', 'B', 'C'], 'b': ['H', 'H', 'I', 'J', 'J']}) print(df) # 结果如下 a b 0 A H 1 A H 2 A I 3 B J 4 C J 方法:使用lambda函数: pt = ...

    例如,有如下数字:

    df = pd.DataFrame({'a': ['A', 'A', 'A', 'B', 'C'],
                       'b': ['H', 'H', 'I', 'J', 'J']})
    print(df)
    
    # 结果如下
       a  b
    0  A  H
    1  A  H
    2  A  I
    3  B  J
    4  C  J
    

    方法:使用lambda函数:

    pt3 = pd.pivot_table(df,
                     values=['b'],
                     index=['a'],
                     aggfunc=[lambda x: len(x.unique()), 'nunique', len, set, list])
    pt3
    print(pt)
    

    结果如下
    在这里插入图片描述

    展开全文
  • Stata: 统计组内非重复值个数

    千次阅读 2019-08-26 09:48:25
    3 应用范例 sysuse "auto.dta", clear egen a1 = nvals(rep78) //使用 nvals() 得到 rep78 的非重复值个数 egen a2 = nvals(rep78), by(foreign) //不同 foreign 类别下 rep78 的非重复值个数 egen a2 = nvals(rep...

    作者: 李珍 (厦门大学)

    连享会 - 与君分享 lianxh.cn


    本文对命令的介绍基于 Nicholas J. Cox, Speaking Stata: Distinct observations, The Stata Journal (2008) 8, Number 4, pp. 557–568. PDF

    本文以系统自带数据 auto.dta 进行介绍,如何识别一个变量或者一个数据集中有多少种不同的观察结果。例如,公司 i i i 在第 t t t 年发生了 30 多笔借贷业务,我们想知道这些业务涉及了多少家银行。

    目前在 Stata 中有不少命令都可以处理这个问题,比如 contract , duplicates ,但这些命令在实现过程都破坏了原有的数据结构。在这里,我们推荐两种方法,一种是使用 egen 命令自带的 tag() 函数来标记非重复值的出现与否,进而使用 total()sum() 函数进行加总;另一种方法是直接使用外部命令 egenmore 提供的 nvals() 函数。

    连享会计量方法专题……

    方法一: 使用 _n 和 egen 命令的 tag() 函数

    . sysuse auto.dta, clear
    . drop nvals
    . by foreign rep78, sort: generate nvals = _n == 1 
    // “等式 _n==1” 表示:如果 foreign 和 rep78 的组合第一次出现,
    // 则 nvlas 就赋值为 1,否则为 0
    . replace nvals = sum(nvals)    // 对nvals进行加总
    . replace nvals = nvals[_N]     // 将nvals的值替换为nvals的总数。
    . dis nvals
    10
    

    可以看到,foreignrep78 一共有 10 种非重复组合。当然,如果使用 tab foreign rep78,mis能够更直接看到这 10 种类型的分布情况。

    更进一步,我们可以使用分组前缀命令 by 来计算不同组的非重复值个数。

    sysuse "auto.dta", clear
    drop nvals
    by foreign rep78, sort: generate nvals = _n == 1
    by foreign: replace nvals = sum(nvals)	//计算不同foreign类别下,对 rep788 的非重复值进行计数
    by foreign: replace nvals = nvals[_N]	//在不同foreign组下,计算 rep78 的非重复值。
    

    这里当然也可以使用 by foreign: tab rep78,mis 列表呈现样本的分布特征。

    我们可以使用 tag()varlist 的观察值进行标记。用 tag 可以识别出相同的观察值,并将第一次出现的观察标记为 1 ,其余所有相同观察值标记为 0 ,进而识别出所有的非重复值。

    sysuse "auto.dta", clear
    egen tag = tag(foreign rep78)	//识别出不同的 foreign 和 rep78 组合
    egen nvals = total(tag), by(foreign)	//计算不同 foreign 类别情况下, rep78 各有多少个非重复值
    tabdisp foreign, cell(nvals)	//列表展示出结果
    ** 注意:tabdisp 利用表格展示数据,不计算统计结果。
    ----------------------
     Car type |      nvals
    ----------+-----------
     Domestic |          5
      Foreign |          3
    ----------------------
    

    需要注意的是,使用 tag() 计算出的类别与使用 等式 _n==1 有所不同,这是因为 tag() 忽略了变量中缺失值,即不将缺失值样本作为非重复样本进行计算。

    方法二:使用 egenmore 命令的 nvals() 函数

    使用命令 egenmore 提供的 nvals() 函数,仅一步就可以提供上述分解的简单的步骤的操作结果。

    1 下载安装

    ssc install egenmore, replace
    

    2 语法结构

    egen newvar = nvals(varname) [, by(byvarlist) missing]
    

    newvar 的返回值即为 varname 变量非重复值的数量。除非指定了 missing ,否则 nvals 在计算非重复值个数时不会考虑缺失值。

    3 应用范例

    sysuse "auto.dta", clear
    egen a1 = nvals(rep78)	//使用 nvals() 得到 rep78 的非重复值个数
    egen a2 = nvals(rep78), by(foreign)	//不同 foreign 类别下 rep78 的非重复值个数
    egen a2 = nvals(rep78), by(foreign) mis	//考虑缺失值的情况下,不同 foreign 类别下 rep78 的非重复值个数
    

    连享会计量方法专题……

    方法三: distinct 命令

    同样地,使用命令 distinct 也可以得到不同观察值的数量。 distinct 可以单独报告每个变量包含的非重复值的数量,也可以报告多个变量联合的组中非重复值的数量。变量既可以是数值型,也可以是字符型。注意,默认情况下, distinct 也不将缺失值记为一类,除非在命令中附加了 missing 选项。

    1 下载安装

    ssc install distinct, replace 
    

    2 语法结构

    distinct [varlist] [if] [in] [, missing abbrev(#) joint minimum(#) maximum(#) ]
    

    可以搭配 by 语句使用

    3 命令使用

    sysuse "auto.dta", clear
    
    distinct	//列出所有变量的样本数和非重复值个数
    
                  |        Observations
                  |      total   distinct
    --------------+----------------------
             make |         74         74
            price |         74         74
              mpg |         74         21
            rep78 |         69          5
         headroom |         74          8
            trunk |         74         18
           weight |         74         64
           length |         74         47
             turn |         74         18
     displacement |         74         31
       gear_ratio |         74         36
          foreign |         74          2
              tag |         74          2
            nvals |         74          2
               a1 |         69          2
    
    
    by foreign, sort: distinct rep78	//列出不同foreign类别下,rep的样本数和非重复值数量
    ----------------------------------------------------------------------
    -> foreign = Domestic
    
           |        Observations
           |      total   distinct
    -------+----------------------
     rep78 |         48          5
    
    ----------------------------------------------------------------------
    -> foreign = Foreign
    
           |        Observations
           |      total   distinct
    -------+----------------------
     rep78 |         21          3
    

    结语

    识别一个变量或者联合多个变量时非重复值的个数,一方面可以把握样本的数据分布,另一方面,在绘图中,识别出变量重复值是很有用的,因为没有必要一次又一次地绘制完全相同的坐标。


    关于我们

    • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。直播间 有很多视频课程,可以随时观看。
    • 你的颈椎还好吗? 您将 ::连享会-主页::::连享会-知乎专栏:: 收藏起来,以便随时在电脑上查看往期推文。
    • 公众号推文分类: 计量专题 | 分类推文 | 资源工具。推文分成 内生性 | 空间计量 | 时序面板 | 结果输出 | 交乘调节 五类,主流方法介绍一目了然:DID, RDD, IV, GMM, FE, Probit 等。
    • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:
      • 课程, 直播, 视频, 客服, 模型设定, 研究设计,
      • stata, plus,Profile, 手册, SJ, 外部命令, profile, mata, 绘图, 编程, 数据, 可视化
      • DID,RDD, PSM,IV,DID, DDD, 合成控制法,内生性, 事件研究
      • 交乘, 平方项, 缺失值, 离群值, 缩尾, R2, 乱码, 结果
      • Probit, Logit, tobit, MLE, GMM, DEA, Bootstrap, bs, MC, TFP
      • 面板, 直击面板数据, 动态面板, VAR, 生存分析, 分位数
      • 空间, 空间计量, 连老师, 直播, 爬虫, 文本, 正则, python
      • Markdown, Markdown幻灯片, marp, 工具, 软件, Sai2, gInk, Annotator, 手写批注
      • 盈余管理, 特斯拉, 甲壳虫, 论文重现
      • 易懂教程, 码云, 教程, 知乎

    展开全文
  • VBA(excel)实现的统计两列重复个数,快速统计,简洁明了。
  • 如果参数为数组,除了包含错误以外,可以使用任何其他类型的数据。 如果参数是单元格引用,还可以包含多区域联合引用。 无论用户指定的参数是一维的数组还是二维的单元格引用,该函数都将返回一垂直数组,即一...
    Frequency(data_arrya,bins_array)
    

    Frequency官方文档

    该函数的两个参数,均可使用数组或者单元格引用。
    如果参数为数组,除了包含错误值以外,可以使用任何其他类型的数据。
    如果参数是单元格引用,还可以包含多区域联合引用。

    无论用户指定的参数是一维的数组还是二维的单元格引用,该函数都将返回一个垂直数组,即一维数组。

    =Frequency(B2:B10,{5,10,15})
    在这里插入图片描述
    Countif和Frequency结果:
    =countif(G2:H4,G2:H4)
    结果让然为3行2列的数组
    在这里插入图片描述
    Frequency结果:
    Frequency(G2:H4,G2:H4)
    Frequency会按这6个数值去掉重复值后为:4、9、12、17,并划分为5个区间:(-∞,4]、
    (4,9] 、(9,12]、 (12,17]、(17,+∞),再根据先行后列的顺序分别统计得出结果。
    第一次出现的4在区间1中计数为2,第一次出现的12在区间3计数2,17计数1,9计数1,第5个重复的12计数0,同理重复的4也计数0,最后一个区间5(17,+∞)由于无数值满足条件,计数为0.因此结果为行数组{2,2,1,1,0,0,0}在这里插入图片描述

    统计每个成绩段的人数:

    =frequency(subject,right($J$4:$J$6,3)-0.1)
    或:
    =countif(subject,"<"&right(J10,3))-sum($K$9:K9)
    

    在这里插入图片描述

    Frequency函数去除重复值后留下的唯一值;
    再用small函数找到第二个最低报价。
    =small(if(frequency($C2:$C7,$C2:$C7)>0,$C2:$C7),2)
    

    在这里插入图片描述

    提取不重复的文字:
    在这里插入图片描述

    展开全文
  • pandas统计重复值次数

    万次阅读 2019-04-26 21:39:13
    pandas统计数据项重复值次数和删除 转:https://blog.csdn.net/qq_35203425/article/details/80830911 Pandas学习笔记之重复数据统计 https://blog.csdn.net/lansecheng/article/details/75085675 Pandas数据...

    pandas统计数据项重复值次数和删除

    转:https://blog.csdn.net/qq_35203425/article/details/80830911

    Pandas学习笔记之重复数据统计

    https://blog.csdn.net/lansecheng/article/details/75085675

    Pandas数据基础(索引、排序、连接、去重、分箱、异常处理)

    https://blog.csdn.net/niuniuyuh/article/details/77102442

    
    from pandas import DataFrame
    df = DataFrame({'key1':['a','a','b','b','a','a','b','b'],
                    'key2':['one','two','one','two','one','one','two','two'],
                    'key3':[1,2,3,2,1,1,2,3],
                    # 'data2':np.random.randn(5)
                    })
    
    
    print(df)
    key1 key2  key3
    # 0    a  one     1
    # 1    a  two     2
    # 2    b  one     3
    # 3    b  two     2
    # 4    a  one     1
    # 5    a  one     1
    # 6    b  two     2
    # 7    b  two     3
    
    
    
    #重复项
    print(df[df.duplicated()])  #找出全部列的重复项
    
    #   key1 key2  key3
    # 4    a  one     1
    # 5    a  one     1
    # 6    b  two     2
    
    
    
    df[df.duplicated(['key1','key2'])]  #只找出key1,key2相同的重复项
    # key1 key2  key3
    # 4    a  one     1
    # 5    a  one     1
    # 6    b  two     2
    # 7    b  two     3
    
    
    column_names = ['key1', 'key2']
    df[df.duplicated(column_names)]  #只找出key1,key2相同的重复项
    
    #   key1 key2  key3
    # 4    a  one     1
    # 5    a  one     1
    # 6    b  two     2
    # 7    b  two     3
    
    
    # 统计重复值
    dup=df[df.duplicated()].count()
    print(dup)
    
    
    # key1    3
    # key2    3
    # key3    3
    # dtype: int64
    
    
    
    # 去除重复项
    nodup=df[-df.duplicated()]
    print(nodup)
    
    
    #  key1 key2  key3
    #0    a  one     1
    #1    a  two     2
    #2    b  one     3
    #3    b  two     2
    #7    b  two     3
    
    
    # 去除重复项,#去除只有key1,key2相同的重复项
    nodup=df[-df.duplicated(['key1','key2'])]
    print(nodup)
    
     key1 key2  key3
    # 0    a  one     1
    # 1    a  two     2
    # 2    b  one     3
    # 3    b  two     2
    
    

     

    column_names = ['adRequest_id', 'adRequest_time', 'adPosition_id', 'user_id', 'ExAd_id', 'ExAd_materialSize', 'ExAd_bid', 'pctr', 'quality_ecpm', 'totalEcpm']
    
    
    #去重所有列标签,以下两种筛选出来的结果是一样的
    #ExposureLog[ExposureLog.duplicated()]  #默认去除所有列一样的
    # ExposureLog[ExposureLog.duplicated(column_names)] #878919行
    # ExposureLog[ExposureLog.duplicated(['adRequest_id', 'adPosition_id', 'ExAd_id'])]
    
    
    #去除重复项
    ExposureLog_nodup = ExposureLog[-ExposureLog.duplicated(column_names)]
    print(len(ExposureLog_nodup))  #101507776=102386695(total) - 878919(dup)
    
    #保存到文件totalExposureLog_nodup.csv中
    ExposureLog_nodup.to_csv("./data/totalExposureLog_nodup.csv", index=False)

     

    展开全文
  • 众所周知,map接口是一种双列集合,每一键对象key都不相等,利用这特性,可以统计重复元素的个数 public class Main { public static void main(String args[]) { TreeMap&lt;String, Integer&gt; ...
  • 假设我们有表A 里面有字段 field 里面有很多重复数据。 现在需要查询当前字段重复的个数 ...那么having 的在group by 后面执行 取到group by 的结果后在进行聚合统计大于1的数据行 那么如何删除重复
  • shell awk统计重复个数

    2016-06-01 10:26:00
    awk是一很强大的工具,一常见的用法就是统计文件中重复的列的个数,这也是面试时面试官经常问的一问题。 举例子: 有文件file.log的内容如下: http://www.sohu.com/aaa ...htt...
  • Excel统计某列重复值数量方法

    千次阅读 2019-11-28 19:04:55
    1,COUNTIF函数 比如要统计重复的列为A列,在要统计的A列隔壁插入一空列B列,在要统计的数据第一列对应位置输入公式=COUNTIF(A:A,A2),...countif函数,第一参数为要统计的列,第二参数为要统计重复。 ...
  • 统计Excel内容的重复个数的绿色在线工具,支持统计重复行的个数,统计重复单元格的个数,统计单元格内文字的重复,个人用js做的 (注意要使用谷歌浏览器) 下面的内容为自动统计的工具, 如果需要公式,请在...
  • 今天小编就为大家分享一篇Pandas统计重复的列里面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • (JS)统计重复个数

    万次阅读 2020-04-19 11:35:18
    由 n 连接的字符串 s 组成字符串 S,记作 S = [s,n]。例如,[“abc”,3]=“abcabcabc”。 如果我们可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。例如,根据定义,“abc” 可以从 ...
  • 题目:求一数组中重复的数字,并说明重复的数字是几同时统计重复的次数 思路: 1、对数组进行排序(从小到大)。 2、将排序后的数组中相邻的做差,如果为0则表示这两个数重复。 3、声明一计数器,使用HashMap...
  • 通过EXCEL VBA自定函数,简单快速地统计重复的个数,比如通过贷款明细账统计贷款户数等。
  • VBA示例函数之 求人不如自已动手 统计数组中非重复数据个数,供初学者参考,大牛勿进~~~~~~~
  • 统计数组中重复元素个数

    千次阅读 2019-08-07 11:03:54
    * 循环统计数组或集合中的重复元素个数 * @param args */ public static void main(String[] args) { Map<String, Integer> map = new HashMap<String, Integer>(); Stri...
  • int类型的数组,元素的在0-10000范围内,统计重复出现最多的数字及出现的次数 思路:利用map集合,key存,value存这个数出现的次数 代码展示: package com.august.test; import java.util.*; /** * ...
  • 统计重复个数--循环结剪枝

    万次阅读 2020-04-19 16:28:30
    0x01.问题 由 n 连接的字符串 s 组成字符串 S,记作 S = [s,n]。例如,["abc",3]=“abcabcabc”。 如果我们可以从 s2 中删除某些字符使其变为 s1...现在给你两非空字符串 s1 和 s2(每最多 100 字符长)和两...
  • 方法 for i in a: c = c + 1/a.count(i)
  • 统计20数字中,一共有多少不同的数字? 对比2组中,不重复的数字有几,分别是什么?(不考虑本组中的重复数字) 对比2组中,重复的数字有几,分别是什么?(不考虑本组中的重复数字) import random ...
  • 现在想从这一列数据中找出每数据的重复个数,并显示在B列。 2 输入公式 在单元格B2输入公式: =COUNTIF(A:A,A2) 然后按回车(也就是Enter键),就会在B2位置看到相对应左边的A2位置的数据在整个A...
  • 如何统计字符串中连续的重复字符个数 百度笔试 题目描述: 用递归的方法实现一求字符串中连续出现相同字符的最大,例如字符串“ aaabbcc”中连续出现字符’ a’的最大为 3,字符串“ abbc”中连续出现字符’ b...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 249,397
精华内容 99,758
关键字:

怎样统计重复值个数