Ich habe ein Pandas DataFrame mit einer TIMESTAMP
Spalte, die vom Datentyp Datetime64 ist. Bitte beachten Sie, dass diese Spalte zunächst nicht als Index festgelegt wird. der Index nur regelmäßige ganze Zahlen sind, und die ersten paar Zeilen wie folgt aussehen:Durchschnitt der täglichen Anzahl der Datensätze pro Monat in einem Pandas DataFrame
TIMESTAMP TYPE
0 2014-07-25 11:50:30.640 2
1 2014-07-25 11:50:46.160 3
2 2014-07-25 11:50:57.370 2
Es gibt eine beliebige Anzahl von Datensätzen für jeden Tag, und es kann Tage ohne Daten sein. Was ich versuche zu erhalten, ist die durchschnittliche Anzahl der täglichen Aufzeichnungen pro Monat dann plotten Sie es als Balkendiagramm mit Monaten in der x-Achse (April 2014, Mai 2014 ... etc.). Ich schaffte es, diese Werte unter
dfWIM.index = dfWIM.TIMESTAMP
for i in range(dfWIM.TIMESTAMP.dt.year.min(),dfWIM.TIMESTAMP.dt.year.max()+1):
for j in range(1,13):
print dfWIM[(dfWIM.TIMESTAMP.dt.year == i) & (dfWIM.TIMESTAMP.dt.month == j)].resample('D', how='count').TIMESTAMP.mean()
mit dem Code zu berechnen, das die folgenden Ausgabe gibt:
nan
nan
3100.14285714
6746.7037037
9716.42857143
10318.5806452
9395.56666667
9883.64516129
8766.03225806
9297.78571429
10039.6774194
nan
nan
nan
Das ist in Ordnung, wie es ist, und mit etwas mehr Arbeit, kann ich zu den Ergebnissen der Karte zu korrigieren Monatsnamen, dann plotten Sie das Balkendiagramm. Ich bin mir jedoch nicht sicher, ob dies der richtige/beste Weg ist, und ich vermute, dass es einen einfacheren Weg geben könnte, die Ergebnisse mit Pandas zu erzielen.
Ich würde mich freuen zu hören, was Sie denken. Vielen Dank!
HINWEIS: Wenn ich die TIMESTAMP-Spalte nicht als den Index festlegen, erhalte ich eine "Reduktionsoperation" bedeutet "nicht für diesen dtype" -Fehler zulässig.
Ich konnte nicht herausfinden, wie man es mit 'groupby' macht. Stellt sich heraus, TimeGroup ist der Trick. Danke vielmals! – marillion
Formatierung entlang der x-Achse für das Balkendiagramm mit Zeitreihen war viel schwieriger als ich dachte. Die Lösung ist http://StackOverflow.com/Questions/33642388/Pandas-Bar-Plot-with-Multiindex-Dataframe, wenn jemand am selben Punkt feststeckt. – marillion