【数据】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})

 

posted on   张凌赫_帅  阅读(15)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示