0

我正在编写一段代码,它遍历每条记录并打印一个称为间隔的统计信息。

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 中,有 7 个间隔长度为 199 的实例和 30 个间隔长度为 200 的实例。在记录 2 中,有 6 个间隔长度为 199 的实例和 31 个间隔长度为 200 的实例。我会喜欢查看这两条记录的总体统计摘要,但无法弄清楚如何获得这些结果:

All Records

199
13

200
61

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

4

1 回答 1

1

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

参考集合.Counter

于 2017-08-07T17:07:59.903 回答