【数据】collections --- 容器数据类型
【万字长文详解】Python库collections,让你击败99%的Pythoner - 知乎 (zhihu.com)
Counter
在Python中,Counter是一个非常实用的工具,它位于collections模块中。Counter是一个字典子类,用于追踪可哈希对象。它以元素作为键,以元素出现的次数作为值。以下详细阐述Counter在Python中的使用场景:
基本应用场景
- 统计词频:对于字符串,Counter可以统计每个字符或单词出现的次数。例如,对于字符串"apple",Counter可以统计出'a'出现1次,'p'出现2次,'l'出现1次,'e'出现1次。
- 分析数据分布:对于列表、元组等可迭代对象,Counter可以统计出每个元素出现的次数,从而分析数据的分布情况。
高级应用场景
- 数据清洗:在数据预处理阶段,Counter可用于查找重复值、异常值和缺失值。通过统计元素出现的次数,可以识别出重复的数据,并对其进行相应的处理。
- 推荐系统:在推荐系统中,Counter可用于分析用户行为和兴趣。例如,可以统计用户对不同类型内容的点击次数、浏览次数等,从而了解用户的偏好,为用户推荐更符合其兴趣的内容。
- Top K Frequent Elements:在处理大量数据时,可能需要找出出现频率最高的K个元素。使用Counter的most_common()方法,可以轻松地实现这一目标。
- 数学运算:Counter支持多种数学运算,如加法和减法。这在处理计数数据的合并和比较时非常有用。例如,可以将两个Counter对象相加,得到一个新的Counter对象,其中包含了两个原始Counter对象中所有元素的计数之和。
1 from collections import Counter 2 my_list = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4] 3 my_counter = Counter(my_list) 4 print(my_counter) # 输出: Counter({4: 4, 3: 3, 2: 2, 1: 1})
1 print(my_counter.most_common(2)) # 输出: [(4, 4), (3, 3)],表示出现次数最多的前两个元素及其计数。
1 another_list = [1, 2, 2, 3, 4, 4] 2 my_counter.subtract(another_list) 3 print(my_counter) # 输出: Counter({4: 2, 3: 2, 2: 1, 1: 0}) 4 5 another_list = [4, 5, 5, 6] 6 my_counter.update(another_list) 7 print(my_counter) # 输出: Counter({4: 3, 5: 2, 3: 2, 2: 1, 1: 0, 6: 1})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了