<25>python学习笔记——统计序列中元素的出现频度


方法一:用字典方法统计序列中元素的出现频度

ange(30)] ##创建一个随机数序列
data
Out[57]: 
[5,
 13,
 0,
 1,
 17,
 8,
 7,
 3,
 19,
 15,
 19,
 15,
 11,
 17,
 16,
 12,
 9,
 17,
 4,
 0,
 17,
 4,
 1,
 14,
 2,
 2,
 6,
 12,
 3,
 2]
c = dict.fromkeys(data,0) ##创建一个字典,用随机数序列做键,默认初始值为0
c
Out[59]: 
{0: 0,
 1: 0,
 2: 0,
 3: 0,
 4: 0,
 5: 0,
 6: 0,
 7: 0,
 8: 0,
 9: 0,
 11: 0,
 12: 0,
 13: 0,
 14: 0,
 15: 0,
 16: 0,
 17: 0,
 19: 0}
for x in data: ##遍历建,如果键相同,就加1.就可以得出序列中元素出现的次数
    c[x] +=1
    
c
Out[61]: 
{0: 2,
 1: 2,
 2: 3,
 3: 2,
 4: 2,
 5: 1,
 6: 1,
 7: 1,
 8: 1,
 9: 1,
 11: 1,
 12: 2,
 13: 1,
 14: 1,
 15: 2,
 16: 1,
 17: 4,
 19: 2}
方法二:使用collection.Counter对象

Counter是一个简单的计数器,例如,统计字符出现的个数:

代码接方法一

from collections import Counter
c2 = Counter(data)
c2
Out[64]: 
Counter({0: 2,
         1: 2,
         2: 3,
         3: 2,
         4: 2,
         5: 1,
         6: 1,
         7: 1,
         8: 1,
         9: 1,
         11: 1,
         12: 2,
         13: 1,
         14: 1,
         15: 2,
         16: 1,
         17: 4,
         19: 2})
c2.most_common(3)##most_common 方法筛选频率最高的3个
Out[65]: 
[(17, 4), (2, 3), (0, 2)]



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值