How to Bin-Reihe von Float-Werten in Histogramm in Python?

8

Ich habe Werte in float (immer kleiner als 0). Was ich in Histogramm ablegen möchte, ich, e. Jeder Balken im Histogramm enthält den Wertebereich [0,0.150]

Die Daten, die ich habe, sieht so aus:

%Vor%

Mit meinem unten stehenden Code erwarte ich ein Ergebnis, das aussieht wie

%Vor%

Ich habe versucht, dieses Binning mit diesem Code zu machen. Aber es scheint nicht zu funktionieren. Was ist der richtige Weg?

%Vor%

~

    
neversaint 12.11.2009, 10:21
quelle

3 Antworten

13

Wenn möglich, erfinden Sie das Rad nicht neu. NumPy hat alles, was Sie brauchen:

%Vor%     
unutbu 12.11.2009, 12:28
quelle
3
%Vor%     
terra 12.11.2012 15:33
quelle
2

Der erste Fehler ist:

%Vor%

Warum konvertierst du ein int in ein str, wenn ein str benötigt wird? Fix das, dann bekommen wir:

%Vor%

weil du nur 5 Eimer gemacht hast. Ich verstehe dein Bucketing-Schema nicht, aber lass uns 50 Eimer machen und sehen, was passiert:

%Vor%

maxdiff ist ein einzelner Wert aus Ihrer Intsliste. Was macht max also hier? Entfernen Sie es, jetzt bekommen wir:

%Vor%

Sicherlich verwenden Sie einen einzigen Wert als zweites Argument für map . Lassen Sie uns die letzten zwei Zeilen vereinfachen:

%Vor%

dazu:

%Vor%

Jetzt wird gedruckt:

%Vor%

Ich bin mir nicht sicher, was ich sonst noch tun soll, da ich nicht wirklich verstehe, wie viel Sie sich erhoffen. Es scheint mit binären Kräften zu tun zu haben, ergibt aber keinen Sinn für mich ...

    
Ned Batchelder 12.11.2009 12:19
quelle