【python】Counter 函数的用法

“””
https://docs.python.org/3.6/library/collections.html#collections.Counter
原文链接:https://blog.csdn.net/u010339879/article/details/80036755
Counter 是 dict 子类
A counter tool is provided to support convenient and rapid tallies.
提供计数器工具以支持方便快捷的计数。
“”“

 # Tally occurrences of words in a list
>>> cnt = Counter()
>>> for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
...     cnt[word] += 1
>>> cnt
Counter({'blue': 3, 'red': 2, 'green': 1})

class collections.Counter([iterable-or-mapping])
A Counter is a dict subclass for counting hashable objects. It is a collection where elements are stored as dictionary keys and their counts are stored as dictionary values. Counts are allowed to be any integer value including zero or negative counts. The Counter class is similar to bags or multisets in other languages.

Elements are counted from an iterable or initialized from another mapping (or counter):

c = Counter()                           # a new, empty counter
c = Counter('gallahad')                 # a new counter from an iterable
c = Counter({'red': 4, 'blue': 2})      # a new counter from a mapping
c = Counter(cats=4, dogs=8)             # a new counter from keyword args

Counter objects have a dictionary interface except that they return a zero count for missing items instead of raising a KeyError:

  • 当counter()访问字典时,访问的key不存在时候,直接返回0,而不抛出异常。
c = Counter(['eggs', 'ham'])
c['bacon']                              # count of a missing element is zero 0
  • 设置counter的一个值为0,并不能删除该元素,要删除该元素,要用del函数
c['sausage'] = 0                        # counter entry with a zero count
del c['sausage']                        # del actually removes the entry
  • Counter可以支持三种方法
    elements()¶
c = Counter(a=4, b=2, c=0, d=-2)
sorted(c.elements())
['a', 'a', 'a', 'a', 'b', 'b']

most_common([n])

Counter('abracadabra').most_common(3)  
[('a', 5), ('r', 2), ('b', 2)]

subtract([iterable-or-mapping])¶

c = Counter(a=4, b=2, c=0, d=-2)
d = Counter(a=1, b=2, c=3, d=4)
c.subtract(d)
c
Counter({'a': 3, 'b': 0, 'c': -3, 'd': -6})
c = Counter(a=4, b=2, c=0, d=-2)
d = Counter(a=1, b=2, c=3, d=4)
c.subtract(d)
c
Counter({'a': 3, 'b': 0, 'c': -3, 'd': -6})
c = Counter(a=3, b=1)
d = Counter(a=1, b=2)
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})

你可能感兴趣的:(pandas的使用,tensorflow,操作指令,python,开发语言,后端)