2017-08-07 9 views
0

私は各レコードを繰り返し処理して、intervalと呼ばれる統計を出力するコードを書いています。カウンタとforループ

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、レコード2区間の長さ200の区間長199と30のインスタンス7つのインスタンスが、ありますインターバルの長さ199の6つのインスタンスと区間長の31個のインスタンス200 がある私はこのような両方のレコードの全体的なSTATの概要を見たいのですが、これらの結果を取得する方法を見つけ出すことはできません。

All Records 

199 
13 

200 
61 

両方のレコードでは、インターバル長199(7 + 6)の合計13のインスタンスとインターバル長200(30 + 31)の合計61インスタンスがあります。私は上記のように私の記録の全体的な統計的要約を得ることができません。

+2

あなたはあなたのポストを編集して、あなたの疑問を明確にしてくださいもらえますか? –

+1

申し訳ありませんが、あなたの質問は何ですか?また、インデントを修正してください。 –

+1

正確に何を知りたいですか?明白に説明してください... –

答えて

1

次の例が参考になる場合があります。の外部に変数が必要です。

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

なぜ 'Counter'オブジェクトを' Counter'オブジェクトの内部で使用しているのですが、 'counter'の代わりに' defaultdict(int)ループ? –

+0

わかった。私は「カウンター」が「更新」をサポートしていることに気づいていません。 – Kaushal

+0

@ juanpa.arrivillaga提案をいただきありがとうございます。更新された答え。 – Kaushal

関連する問題