2016-04-29 4 views
0

Ich möchte die Häufigkeit der Daten für jedes Jahr sehen.Python Frequenz von 2D-Array

Mein Array sieht wie folgt aus: Liste [Daten, Jahr]

Liste [[259,1910], [259,1910], [259,1910], [192,1910] .....

Data Year 
259 1910 
259 1910 
259 1910 
192 1910 
313 1910 
259 1911 
259 1911 
192 1912 
313 1912 

ich möchte das Ergebnis erhalten, wie

Data Year Frequency 
259 1910  3 
259 1911  2 
259 1912  0 
192 1910  1 
192 1911  0 
192 1912  1 
... 

.. .

+0

Was haben Sie schon versucht? –

+1

Sie könnten einen Hash versuchen. Bitte posten Sie Ihren Code, um mehr Antworten zu erhalten. – lit

Antwort

0

Sie können ein Wörterbuch zum Zählen der Frequenz verwenden. Python ermöglicht die Verwendung von Tupel als Wörterbuchschlüssel.

data = [259, 259, 192, 313, 259, 259, 192, 313] 
yrs = [1910, 1910, 1910, 1910, 1911, 1911, 1912, 1912] 
frequencies = {} 
for idx in range(len(data)): 
    key = (data[idx], yrs[idx]) 
    if key in frequencies: 
     frequencies[key] += 1 
    else: 
     frequencies[key] = 1 
data_with_freq = [] 
for key, freq in frequencies.iteritems(): 
    print (key[0], key[1], freq) 
    data_with_freq.append((key[0], key[1], freq)) 
+0

meine Liste ist 2d und sieht nicht wie deins aus –

+0

Die Idee ist, Wörterbuch zu verwenden, die Eingabedatenstruktur ist ziemlich irrelevant. – DXM