计数器和 for 循环

Counter and for loops

我正在编写一段代码来遍历每条记录并打印一个称为间隔的统计数据。

for record in records:

    from collections import Counter
    count = Counter(intervals)

    for interval, frequency in count.iteritems():
        print interval
        print frequency

输出如下所示:

Record 1
199
7
200
30

Record 2
199
6
200
30

本例中,记录1中,区间长度为199的实例有7个,区间长度为200的实例有30个。记录2中,区间长度为199的实例有6个,区间长度为31个长度 200。 我想像这样查看两条记录的总体统计摘要,但不知道如何获得这些结果:

All Records

199
13

200
61

其中,在两条记录中,间隔长度为199(7+6)的实例共有13个,间隔长度为200(30+31)的实例共有61个。如上所示,我无法获取我的记录的总体统计摘要。

你需要 for loop 之外的变量来存储频率计数 以下示例可能对您有所帮助。

from collections import Counter


records = [[199,200,200], [200,199,200]]
freq_dist = Counter()                        # Variable store frequency distribution

for record in records:
    counts = Counter(record)
    freq_dist.update(counts)

for freq, value in freq_dist.items():
   print(freq, value)

输出:

200 4
199 2

引用collections.Counter