您的位置:首页 > 其它

统计序列中元素出现的频度

2016-12-11 17:58 267 查看

第一种方法直接用for循环

form random import randint
data = [randint(0,20) for _ in xrange(40)]
#计算词频,预期产生如下字典
#{1:2, 5:3, 6:0}

#首先初始化一个字典,用data里的元素做key,value初始化为0
c = dict.fromkeys(data,0)

for x in data:
c[x] += 1
#{0:2, 5:2, 6:2, ...}


第二种方法,使用标准库中的collections.Counter函数

c2 = Counter(data)
#c2 = Counter({17:4, 18:4, 5:3,...})

#Counter函数里面还有一个非常好用的属性most_commont()可以直接计算出排名词频
c2.most_common(3)
#[(17,4),(18,4),(5,3)]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: