当前位置: 首页 > news >正文

个人网站开发网湖南长沙微信平台号

个人网站开发网,湖南长沙微信平台号,模板网站建设明细报价表,网站怎么绑定织梦点击上方AI机器学习与深度学习算法#xff0c;选择星标公众号原创干货#xff0c;第一时间送达在很多场景中经常会用到统计计数的需求#xff0c;比如在实现 kNN 算法时统计 k 个标签值的个数#xff0c;进而找出标签个数最多的标签值作为最终 kNN… 点击上方AI机器学习与深度学习算法选择星标公众号原创干货第一时间送达在很多场景中经常会用到统计计数的需求比如在实现 kNN 算法时统计 k 个标签值的个数进而找出标签个数最多的标签值作为最终 kNN 算法的预测结果。Python内建的 collections 集合模块中的 Counter 类能够简洁、高效的实现统计计数。Counter 是 dict 字典的子类Counter 拥有类似字典的 key 键和 value 值只不过 Counter 中的键为待计数的元素而 value 值为对应元素出现的次数 count为了方便介绍统一使用元素和 count 计数来表示。虽然 Counter 中的 count 表示的是计数但是 Counter 允许 count 的值为 0 或者负值。实例化 Counter 类如果要使用 Counter必须要进行实例化在实例化的同时可以为构造函数传入参数来指定不同类型的元素来源。from collections import Counter# 实例化元素为空的 Counter 对象a  Counter()# 从可迭代对象中实例化 Counter 对象b  Counter(chenkc)# 从 mapping 中实例化 Counter 对象c  Counter({a:1, b:2, c:3})# 从关键词参数中实例化 Counter 对象d  Counter(a  1, b  2, c  3)实例化元素为空的 Counter 对象之后可以通过为字典添加元素的方式为 Counter 对象添加元素。from collections import Counter# 实例化元素为空的 Countera  Counter()# 为 Counter 添加元素以及对应的 count 计数a[a]  1a[b]  2a[c]  3 print(a)Counter({c: 3, b: 2, a: 1})从 string(字符为list列表的元素)、list 和 tuple 这些可迭代对象中获取元素。from collections import Counter# 从可迭代对象中实例化 Counterb  Counter(chenkc) # stringb2  Counter([c, h, e, n, k, c]) # listb3  Counter((c, h, e, n, k, c)) # tuple print(b)Counter({c: 2, h: 1, e: 1, n: 1, k: 1}) print(b2)Counter({c: 2, h: 1, e: 1, n: 1, k: 1}) print(b3)Counter({c: 2, h: 1, e: 1, n: 1, k: 1})从 mapping 中实例化 Counter 对象mapping 类型的数据就是元素为(x, y)的列表字典也属于 mapping 类型的数据。from collections import Counter# 从 mapping 中实例化 Counter 对象c  Counter([(a, 1), (b, 2), (a, 3), (c, 3)])c2  Counter({a:1, b:2, a:3, c:3}) # 字典 print(c)Counter({(a, 1): 1, (b, 2): 1, (a, 3): 1, (c, 3): 1})  print(c2)Counter({a: 3, c: 3, b: 2})虽然传入的 mapping 类型的数据是一样的但是由于字典中的键是唯一的因此如果字典中的键重复会保留最后一个。dic  {a:1, b:2, a:3, c:3} print(dic){a: 3, b: 2, c: 3}从关键词参数中实例化 Counter 对象关键词参数中指定的关键词必须是唯一的但是不同于字典如果指定的关键词重复程序会抛出SyntaxError异常。from collections import Counter# 从关键词参数中实例化 Counter 对象d  Counter(a  1, b  2, c  3)# d2  Counter(a  1, b  2, a  3, c  3) # SyntaxError print(d)Counter({c: 3, b: 2, a: 1})我们都知道在字典中查找不存在的键程序会抛出 KyeError的异常但是由于 Counter 用于统计计数因此 Counter 不同于字典如果在 Counter 中查找一个不存在的元素不会产生异常而是会返回 0这其实很好理解Counter 计数将不存在元素的 count 值设置为 0 。from collections import Counterc  Counter({a:1, b:2, c:3}) print(c[d]) # 查找键值为d对应的计数0 print(c)Counter({c: 3, b: 2, a: 1})c[d]表示的查找返回元素值为d的 count 计数而如果使用c[d] 0则表示的是为 Counter 添加元素。from collections import Counterc  Counter({a:1, b:2, c:3})c[d]  4 # 为 Counter 添加元素 print(c[d])4 print(c)Counter({d: 4, c: 3, b: 2, a: 1})Counter 中的方法实例化 Counter 类对象之后就可以使用 Counter 对象中的方法。由于 Counter 类继承自 dict 类所以 Counter 类可以使用 dict 类的方法。下面分别从 Counter 所特有的方法和一些字典的常规方法来介绍。Counter 特有的方法Counter 额外支持字典中没有的三个方法elements()、most_common([m])以及subtract([iterable-or-mapping])。elements 方法elements()方法返回一个迭代器可以通过 list 或者其它方法将迭代器中的元素输出输出的结果为对应出现次数的元素。from collections import Counterc  Counter({a:1, b:2, c:3})c2  Counter({a:0, b:-1, c:3}) # 将出现次数设置为 0 和负值 print(c.elements())0x0000022A57509B70  print(list(c.elements()))[a, b, b, c, c, c]  print(c2.elements())0x0000022A57509B70  print(list(c2.elements()))[c, c, c]在 Counter 中是允许计数为 0 或者负值的不过通过上面代码可以看出 elements 函数没有将 0 和负值对应的元素值打印出来。most_common 方法most_common([n])是 Counter 最常用的方法返回一个出现次数从大到小的前 n 个元素的列表。from collections import Counterc  Counter({a:1, b:2, c:3}) print(c.most_common()) # 默认参数[(c, 3), (b, 2), (a, 1)] print(c.most_common(2)) # n  2 [(c, 3), (b, 2)]  print(c.most_common(3)) # n  3[(c, 3), (b, 2), (a, 1)]  print(c.most_common(-1)) # n  -1[]n为可选参数通过上面的代码可以总结出不输入n默认返回所有输入n小于最长长度则返回前n个数输入n等于最长长度则返回所有输入n -1则返回空subtract 方法subtract([iterable_or_mapping])方法其实就是将两个 Counter 对象中的元素对应的计数相减。from collections import Counterc  Counter({a:1, b:2, c:3})d  Counter({a:1, b:3, c:2, d:2})c.subtract(d) print(c)Counter({c: 1, a: 0, b: -1, d: -2})其实就是两个 Counter 中的对应的元素的计数相减。当其中某个 Counter 中对应的元素不存在的时候默认将其计数设置为 0这也是为什么d的计数为-2的原因。Counter 支持的字典方法一般常规的字典方法对 Counter 对象都是有效的将这些字典方法作用到下面的 Counter 对象c中并绘制到下面的表格中。from collections import Counterc  Counter({a:1, b:2, c:3, d:0, e:-1})方法描述结果c.values()列出所有的元素的计数dict_values([1, 2, 3, 0, -1])c.clear()清空所有元素Counter() # 元素为空的 Counterlist(c)列出所有不唯一的元素[a, b, c, d, e]set(c)转换成集合{d, b, c, a, e}dict(c)转换成字典{a: 1, b: 2, c: 3, d: 0, e: -1}c.items()转换成dict_items其中的元素为(key, vlaue)dict_items([(a, 1), (b, 2), (c, 3), (d, 0), (e, -1)])c.most_common()[:-n-1:-1]n 个出现次数最小的元素[(e, -1), (d, 0)] # 当 n 2 时c Counter()删除掉计数为 0 和复数的元素Counter({c: 3, b: 2, a: 1})但是在 Counter 中有两个方法和字典中的使用有些区别异常方法描述fromkeys(iterable)没有为 Counter 对象实现该函数update([iterable-or-mapping])增加 count 而不是用新的 count 取代旧的 countfrom collections import Counterc  Counter({a:1, b:2, c:3, d:0, e:-1})c.update({a:2, d:2, e:1}) print(c)Counter({a: 3, c: 3, b: 2, d: 2, e: 0})对于 Counter 中的update函数简单来说就是增加对应元素的计数。集合运算符这里直接贴出集合运算符的代码示例。 c  Counter(a3, b1) d  Counter(a1, b2) c  d                           # add two counters together:  c[x]  d[x]Counter({a: 4, b: 3}) c - d                           # subtract (keeping only positive counts)Counter({a: 2}) c  d                           # intersection:  min(c[x], d[x])Counter({a: 1, b: 1}) c | d                           # union:  max(c[x], d[x])Counter({a: 3, b: 2})参考https://blog.csdn.net/Shiroh_ms08/article/details/52653385推荐阅读(点击标题可跳转阅读)【自然语言处理】带你理解语言模型【自然语言处理】通俗理解n-gram语言模型【自然语言处理】通俗讲解语言模型的评价指标-困惑度【Python语言】轻松搞懂Python中Iterable与Iterator【机器学习】一文搞懂简单线性回归【深度学习】详解Softmax函数【技术干货】本地远程访问Linux服务器上的jupyter notebook【数据分析】Numpy中常用随机函数的总结
http://www.yutouwan.com/news/283331/

相关文章:

  • 济南装饰行业网站建设苏州建筑设计公司
  • 杨浦企业网站建设屏蔽wordpress更新
  • 网站怎么实现手机号注册会员品牌网站建设小蝌蚪2a
  • 北京定制公交网站网站公司销售
  • 购物网站名字江门网站建设服务
  • 昌平做网站重庆餐饮品牌策划公司
  • 物流网站公司代码分享wordpress
  • 绵阳市建设工程质量监督站网站福田建网站公司
  • 天门市住房和城乡建设网站wordpress添加子主题
  • 雅虎网站收录入口建筑工程公司有哪些职位
  • 蒙自建设网站wordpress防cc
  • 打电话叫人做网站建立一个公司自己的网站
  • 做logo网站使用joomla的网站
  • 北京网站设计公司jq成都柚米科技15如何把网站让百度录用
  • 网站播放功能难做吗合肥外贸网站建设公司
  • 电子相册在线制作网站东莞网站建设 少儿托管
  • 涪陵建设工程信息网站wordpress活动插件
  • 做旅游攻略网站备案 网站
  • 付费做网站关键词优化是怎么做的呀做外贸上哪些网站找客户
  • 北京建站模板源码线下推广渠道和方式
  • 音乐中文网站模板下载做园林景观的网站
  • 网站建设与电子商务的教案free wordpress themes
  • 做计算机网站的总结网站服务器租赁需要什么手续
  • 云南网站设计平台网站和网络有什么区别
  • 站长之家源码下载湖南网站营销优化开发
  • 企业建设网站需要注意什么手续怎么做软件程序
  • 头像设计制作网站阿里云官网首页
  • php怎么建立站点物业管理系统和物业管理软件
  • 郑州网站推广公司排名苏州电商系统开发
  • 邢台wap网站建设报价重庆建设岗位培训网站