Python怎么统计,用python做统计分析
以下示例显示了如何使用count()方法:
# !/usr/悠悠雨/python3t=(123, google , runoob ,淘宝,123);Print (123元素数:,t . count(123))print( run OOB元素数:,T.count(Runoob ))上述示例的输出结果如下:
23元素数量:2 2 run ob元素数量:11) 使用字典dict()
循环遍历迭代对象中的元素。如果字典中没有这样的元素,让该元素作为字典的键,并将键赋为1。如果有,将元素的相应值加1。
list=[ a , a , b ,5,6,7,5]count _ dict=dict()for item in lists:if item in count _ dict:count _ dict[item]=1 else:count _ dict[item]=12) 使用defaultdict()
Defaultdict(parameter)可以接受一个类型参数,比如str、int等。但传入的类型参数不是用来约束值的类型,更不是用来约束键的类型,而是用来在键不存在时初始化一个值。
Defaultdict(int):初始化为0defaultdict(float):初始化为0.0defaultdict(str):初始化为“ ”。没人回答问题?边肖创建了一个Python学习交流QQ群:778463939。找志同道合的朋友互相帮助,群里也有不错的视频学习教程和PDF电子书! 从集合导入列表中的项目的默认字典列表=[a , a , b ,5,6,7,5]count _ dict=default dict(int):count _ dict[item]=13)使用集合(set)和列表(list)
首先用set去除重复,然后将每个元素的lists.count(item)和每个元素对应的次数循环形成一个元组放入列表中。
list=[ a , a , b ,5,6,7,5]count _ set=set(lists)count _ list=list()for item in count _ set:count _ list . append((item,lists.count(item))4)使用Counter
Counter是一个容器对象,主要用来统计hash对象。它可以通过三种方式初始化。
在参数内,迭代对象计数器(“success”)传入关键字参数计数器((s=3,c=2,e=1,u=1))传入字典计数器({"s": 3," c"=2," e"=1," u"=1})。
from collections import Counter lists=[ A , A , b ,5,6,7,5]A=Counter(lists)print(A)# Counter({ A :2,5: 2, b: 1,6: 1,7: 1})a.elements() #获取A中的所有键,返回的是一个对象。我们可以通过list进行转换。a.most_common(2) #出现频率最高的前两个元素有它们的时间,返回的是当列表中嵌套的元组a[zz] #不存在时,返回默认的0a.update(aa5bzz) #更新被计数的对象,即原来的计数值加上新的,而不是用原来的计数值替换a . sub CTC( AA5Z )#实现减法,结果为0和负值运行。1.collections模块collections模块从Python版本开始引入,包括dict、set、list和tuple。
OrderedDict类:排序字典,是dictionary的子类。从2.7引入。Namedtuple()函数:命名元组,是一个工厂函数。从2.6引入。Counter类:对可散列对象进行计数,是dictionary的子类。从2.7引入。德雀:双向排队。从2.4引入。Defaultdict:使用工厂函数创建字典,以便不考虑缺少的字典键。从2.5引入。2.Counter类counter类的目的是跟踪值出现的次数。它是一种无序的容器类型,作为一个键-值对存储在字典中,其中元素是键,它的计数是值。计数值可以是任何整数(包括0和负数)。Counter类类似于其他语言中的bags或multisets。
2.1 创建
下面的代码阐释了创建计数器类的四种方法:
C=Counter() #从可迭代对象(list、tuple、dict、string等)创建一个空计数器类C=Counter( gallahad )# Create C=Counter({ a :4, b: 2})。)#从字典对象创建C=counter
当被访问的键不存在时,返回0而不是KeyError;否则,返回其计数。
没人回答问题?边肖创建了一个Python学习交流QQ群:778463939。找志同道合的朋友互相帮助,群里也有不错的视频学习教程和PDF电子书!’ c=Counter( abcdefgab )c[ a ]2c[ c ]1c[ h ]02.2 计数值的访问与缺失的键
您可以使用iterable对象或另一个Counter对象来更新键值。
计数器的更新包括增加和减少。其中,添加了update()方法:
c=Counter( which )c . update( witch )#用另一个iterable对象更新c[ h ]3d=Counter( watch )c . update(d)#用另一个Counter对象更新c[h]4。当递减时,使用subtract()方法:
没人回答问题?边肖创建了一个Python学习交流QQ群:778463939。找志同道合的朋友互相帮助,群里也有不错的视频学习教程和PDF电子书!’c=Counter( which )c . subtract( witch )# update c[ h ]1d=Counter( watch )c . subtract(d)# update c[ a ]-1010-用另一个Counter对象
当计数值为0时,并不意味着元素被删除。应该使用del来删除元素。
c=Counter( abcdcba )c Counter({ a :2, c: 2, b: 2, d: 1}) c[b]=0 cCounter({a: 2, c: 2, d: 1, b: 0}) del c[a] cCounter({c: 2, b: 2, d: 1})2.3 计数器的更新(update和subtract)
返回迭代器。一个元素重复多少次,迭代器中就有多少个元素。元素没有确定的顺序排列,并且不包括小于1的元素数量。
c=Counter(a=4,b=2,c=0,d=-2) list(c.elements())[a , a , a , a , b]2.4 键的删除
返回一个TopN列表。如果未指定n,则返回所有元素。当多个元素的计数值相同时,排列没有确定的顺序。
c=计数器( abracadabra )c . most _ common()[( a ,5),( r ,2),( b ,2),( c ,1),( d ,1)] c.most_common(3)[(a ,5),( r ,2),( b ,2)]2.5 elements()
未实现的类方法。
2.6 most_common([n])
没人回答问题?边肖创建了一个Python学习交流QQ群:778463939。找志同道合的朋友互相帮助,群里也有不错的视频学习教程和PDF电子书!’ c=Counter( abcdcba )cCounter({ a :2, c: 2, b: 2, d :1 })d=c . copy()dCounter({ a :2, c: 2, b: 2, d: 1})2.7 fromkeys
、操作也可用于计数器。其中和操作分别返回两个计数器对象的每个元素的最小值和最大值。请注意,产生的计数器对象将删除小于1的元素。
c=Counter(a=3,b=1) d=Counter(a=1,b=2) c d # c[x] d[x]Counter({a: 4,B: 3}) c-d # subtract(只保留正的计数元素)Counter({ A :2 })C D # Intersection:min(C[x],D [x]) Counter ({A: 1, B: 1}) C
Sum(c.values()) #所有计数的总数c.clear() #重置计数器对象。注意不是删除列表(c) #把c中的键变成列表集(c) #把c中的键变成setdict(c) #把c中的键-值对变成字典c.items() #变成(elem,cnt)格式列表计数器(dict(list_of_pairs)) #从(elem,Cnt)格式列表转换成计数器类对象c.most_common()[:-n:-1] #取出计数最低的n个元素c=Counter() #去掉0和负值
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。