2017-10-16 3 views
0

ein Wörterbuch mit folgender Syntax erstelltSummieren der Werte in einem Wörterbuch

frequency_m= dict(zip(unique, counts)) 

die in Ergebnisse:

{0: 3512488, 1: 2606, 2: 3553, 3: 3929, ..........} 

Ich möchte den Schlüssel, Wert-Paare als binär klassifizieren - ‚1 'oder' 0 '. Unten habe ich dargestellt

for k, v in frequency_m.iteritems(): 
    if k ==0: 
     print '0', v 
    else: 
     print '1', sum(v) 

offensichtlich erzeugt das TypeError: 'numpy.int64' object is not iterable. Ich bin mir sicher, dass ich über die Werte iterieren muss und summiere das für die Werte außer '0'. Ich verstehe es nicht. Irgendwelche Gedanken?

0 3512488 
1 2606 
1 3553 
1 3929 

mein Ziel hier ist die Tabelle als

0 3512488 
1 10088 

Ich habe versucht, folgende als auch zur Ausgabe: ** np.sum((value for key, value in frequency_m.iteritems() if key != '0'))**, es fasst die Werte aller und nicht mein Ziel ergeben.

Antwort

1

einfach Ihr Verständnis für 0 statt '0' zu überprüfen, ändern:

np.sum((value for key, value in frequency_m.iteritems() if key != 0)) 
+0

Danke, zipa. Ich bin so dumm. – lpt

Verwandte Themen