Beispieldatenrahmen:Pandas Aggregate nach Monat mit 2 Spalten als Index
Date | ID | Type 1 | Type 2 | Type 3
-----------------------------------------
2017-06-05 | 1 | 2 | 1 | 0
2017-08-05 | 1 | 0 | 1 | 0
2017-10-05 | 1 | 2 | 1 | 1
2017-06-05 | 2 | 0 | 1 | 0
2017-07-05 | 2 | 2 | 0 | 0
2017-09-15 | 3 | 0 | 0 | 5
ich auf monatlicher Basis GROUPBY wollen, so dass jede ID pro Monat bis zur letzten verfügbaren Daten Zeile hat. Zum Beispiel hat ID = 1 in diesem Fall Daten vom 6. bis zum 10. Monat. Also, ID = 1 erhält Zeilen vom 6. bis 10. Monat.
Erwartete Ausgabe für ID = 1:
Date | ID | Type 1 | Type 2 | Type 3
-----------------------------------------
2017-06-05 | 1 | 2 | 1 | 0
2017-07-05 | 1 | 2 | 1 | 0
2017-08-05 | 1 | 0 | 1 | 0
2017-09-05 | 1 | 0 | 1 | 0
2017-10-05 | 1 | 2 | 1 | 1
Es beobachtet werden kann, dass die Art Spalten nach oben nicht summieren, sondern die Daten aus der Vergangenheit füllt die Reihe. Wie für Daten in Monat 7 verwendet Monat 6 gleiche Daten.
Below Szenario ist für diese Frage aus -umfang:
Falls die Eingangsdatenrahmen mehrere Zeilen innerhalb selben Monat hat.
Date | ID | Type 1 | Type 2 | Type 3
-----------------------------------------
2017-06-05 | 1 | 2 | 1 | 0
2017-06-19 | 1 | 0 | 1 | 0
2017-10-05 | 1 | 2 | 1 | 1
2017-06-05 | 2 | 0 | 1 | 0
2017-06-25 | 2 | 2 | 0 | 0
2017-09-15 | 3 | 0 | 0 | 5
Wie aggregiert in diesem Fall, dass jeder Monat nur eine einzige Zeile pro ID hat?
Können Sie kleine Erklärung liefern. Kommentare in der Seite werden auch in Ordnung sein. @jezrael –
Sicher, gib mir eine Sekunde. – jezrael
'' 's1 = s.reindex (df1.index, methode = 'ffill')' '' throws '' 'Ausnahme: kann nicht mit einem nicht eindeutigen Multiindex umgehen!' '' –