Python collections中的Counter(持续更新)

参考文章:https://blog.csdn.net/Shiroh_ms08/article/details/52653385

一、collections整体介绍

collections:高性能容器的数据类型

在2.4版本中新加入,源代码Lib/collections.pyLib/_abcoll.py。该模块实现了专用的容器数据类型来替代python的通用内置容器:dict(字典),list(列表), set(集合)和tuple(元组)。

容器描述引入版本
namedtuple()使用工厂方法创建带有命名的字段的元组的子类2.6
deque类似列表的容器,能够快速响应在任何一端进行pop2.4
Counter字典子类,为可以进行哈希的对象计数2.7
OrderedDict字典子类,记录了字典的添加次序2.7
defaultdict字典子类,调用一个工厂方法来提供缺失的值2.5

除了具体的容器类,collections模块还提供了abstract_base_classes来测试一个类是否体用了一个特定的接口,例如,这是可哈希的还是一个映射。

二、Counter作用及举例

counter工具用于支持便捷和快速地计数。

1、简单示例

from collections import Counter
cnt = Counter()
for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
    cnt[word] += 1
print cnt

输出为

Counter({'blue': 3, 'red': 2, 'green': 1})

 

2、影评中的正负评价高频词统计

from collections import Counter
positive_counts = Counter()
negative_counts = Counter()
total_counts = Counter()
for i in range(len(reviews)):
    if(labels[i] == 'POSITIVE'):
        for word in reviews[i].split(" "):
            positive_counts[word] += 1
            total_counts[word] += 1
    else:
        for word in reviews[i].split(" "):
            negative_counts[word] += 1
            total_counts[word] += 1
positive_counts.most_common()
negative_counts.most_common()

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值