IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Python: Counter计数器的用法,去重、统计次数 -> 正文阅读

[大数据]Python: Counter计数器的用法,去重、统计次数

一、Counter的功能介绍

from collections import Counter ,Counter可以对字符串、列表、元祖、字典进行计数,返回一个字典类型的数据,键是元素,值是元素出现的次数。

调用most_common(x) 可以统计出现最多次数的X个元素(从大到小输出)

Counter 可以与其他方法联合操作,输出不一样的结果,还可以做数学运算。

from collections import Counter

str = "hello-python-hello-hadoop"
r1 = Counter(str)     # 每个字符出现了几次
print("返回键与值:", r1)  # 字典返回键与值
print("值的总和:", sum(r1.values()))  # 返回值的总和

r2 = r1.most_common(4) # 输出前四个最多次数的元素
print("---" * 18)
print("从大到小:", r2)

r3 = str.split("-")  # 结合split,分割成单词统计
print("---" * 18)
print("split分割:", r3)
print("单词统计:", Counter(r3))

在这里插入图片描述

二、找出所有重复元素

from collections import Counter

def find_duplicate(str):
    c = Counter(str)
    print(c)
#     c =  Counter(str.split("-")) # 单词分割
#     print(c)

#     d = filter(lambda k: c[k] > 1, c) # 过滤出满足c[k]>1的元素
#     print("重复的元素:", list(d))  # 列表形式输出过滤的元素
    return list(filter(lambda k: c[k] > 1, c)) # 整合代码

str = input("请输入字符串:")  # hello-python-hello-hadoop
find_duplicate(str)

在这里插入图片描述
在这里插入图片描述


三、Counter联合统计次数

from collections import Counter
tool = ['pen', 'rule', 'knife', 'sword', 'paper']
stationery = ['pen', 'rule', 'paper']

t = Counter(tool)
s = Counter(stationery)
print("累加输出:", (t+s))
print("--"* 25)
def sum_counter(*data):
    if len(data) < 1:
        return "输入错误"
    
    mapc = map(Counter, data) # 把data所有元素转为Counter形式,以列表返回结果
    s = Counter([]) # 定义一个空Counter
    print(s)
    
    for ic in mapc: # 对mapc逐个进行
        s += ic     # 累加次数
        print(s)    # 逐个累加输出
    return s

sum_counter(t, s, ['pen'], ['rule', 'paper', 'watch'])

在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-29 10:21:27  更:2021-09-29 10:22:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 14:34:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码