2017-08-07 55 views
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中,有间隔长度199的7个实例和间隔长度200的30个实例在记录2,有间隔长度199的6个实例和间隔长度的31个实例200 我想看到的是这样两个记录总体的统计汇总,但无法弄清楚如何得到这些结果:

All Records 

199 
13 

200 
61 

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

+2

能否请您编辑您的文章澄清你的问题? –

+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 

参考collections.Counter

+0

循环? –

+0

好的。我知道了。我不知道'Counter'支持'update'。 – Kaushal

+0

@ juanpa.arrivillaga感谢您的建议。更新了答案。 – Kaushal