2016-07-13 15 views
2

Ich habe eine DF-Serie Tage der Woche.Binning nach Wochentagen. Pandas Python Matplotlib

dayname 
MONDAY 
MONDAY 
WEDNESDAY 
SATURDAY 
SUNDAY 

Was ich tun möchte, ist Handlung ihre zählt, die ich eine groupby Zählung Funktion wie diese df = df.groupby('dayname').count() erhalten können.

   count 
dayname 
MONDAY   2 
WEDNESDAY  1 
SATURDAY  1 
SUNDAY   1 

Auf dem Grundstück würde ich alle Tage der Woche, auch wenn ihr Wert 0. ähnlich das Grundstück unterhalb der Stelle, zeige gerne dort am Samstag keine Aktivität, aber es gibt noch eine Bar. Meine aktuellen Plots zeigen nur die Daten im DF (schockierend). Also irgendwelche Ideen wie ich die Nullwerte addiere? Ich habe mir pd.cut Funktion für Binning angesehen, aber es scheint nur numerische Bins zuweisen, die gekennzeichnet werden können. Vielleicht habe ich es nicht verstanden.

enter image description here

UPDATE

Arbeits Code pro den Kommentaren.

Dies ist der Datenrahmen

   dayname 
startdate 
2015-12-13 SUNDAY 
2015-12-28 MONDAY 
2015-12-14 MONDAY 
2015-12-10 THURSDAY 
2015-12-20 SUNDAY 

RESULT OF df.info()

Index: 30 entries, 2015-12-13 to 2015-12-09 
Data columns (total 1 columns): 
dayname 30 non-null object 
dtypes: object(1) 

df = df.dayname.value_counts() 

ERGEBNIS CODE

SUNDAY  6 
MONDAY  5 
WEDNESDAY 4 
THURSDAY  4 
FRIDAY  4 
Name: dayname, dtype: int64 

SUGGESTED CODE

DAYS = ['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'] 
df = df.reindex(DAYS, fill_value=0) 

CODE RESULT

MONDAY  0 
TUESDAY  0 
WEDNESDAY 4 
THURSDAY  0 
FRIDAY  0 
Name: dayname, dtype: int64 

Antwort

2

eine Liste von Tagen erstellen und es zu reindex

DAYS = ['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'] 

df.dayname.value_counts().reindex(DAYS, fill_value=0).plot.bar() 

enter image description here

+0

Dank für die Antwort benutzen, ich bin ein immer Bei einigen Problemen fügt der Befehl myreindex nur die Anzahl der Zeilen in den Wertzählungen ein. So würde zum Beispiel mit den ursprünglichen Fragedaten nur ein Index mit Montag, Dienstag, Mittwoch, Donnerstag erstellt. Irgendwelche Gedanken? – hselbie

+0

Nein, tut mir leid. Im Allgemeinen ist es viel einfacher, solche Dinge zu debuggen, wenn Sie ein minimales, vollständiges, überprüfbares Beispiel angeben. Dies würde es mir ermöglichen, den Code, den Sie für die Erstellung des Beispiels verwendet haben, zu kopieren und zu überarbeiten, und ich bin sicherer, dass wir dasselbe betrachten. Im Moment müssen wir untersuchen, was das Problem sein könnte. Ich schlage vor, Sie aktualisieren Post mit einem solchen Beispiel. Link ---> http://stackoverflow.com/help/mcve – piRSquared

+0

Danke für die Rückmeldung an mich, ich habe meine Frage bearbeitet, um die Ergebnisse von 'df.head, df.info' und Ihre Codebeispiele zu liefern. Hoffentlich bietet das eine gewisse Klarheit? – hselbie