Vektorisierte Implementierung zum Erstellen mehrerer Zeilen aus einer einzelnen Zeile in pandas dataframe
Für jede Zeile in der Eingabetabelle müssen mehrere Zeilen generiert werden, indem der Datumsbereich auf der Grundlage des Monats getrennt wird. (Bitte beachten Sie die folgende Beispielausgabe).
s gibt einen einfachen iterativen Ansatz, um Zeilen für Zeilen zu konvertieren, aber er ist bei großen Datenrahmen sehr langsa
Kann jemand einen vektorisierten Ansatz vorschlagen, z. B. mithilfe von apply (), map () usw., um das Ziel zu erreichen?
Die Ausgabetabelle ist eine neue Tabelle.
Eingang
ID, START_DATE, END_DATE
1, 2010-12-08, 2011-03-01
2, 2010-12-10, 2011-01-12
3, 2010-12-16, 2011-03-07
Ausgabe
ID, START_DATE, END_DATE, NUMBER_DAYS, ACTION_DATE
1, 2010-12-08, 2010-12-31, 23, 201012
1, 2010-12-08, 2011-01-31, 54, 201101
1, 2010-12-08, 2011-02-28, 82, 201102
1, 2010-12-08, 2011-03-01, 83, 201103
2, 2010-12-10, 2010-12-31, 21, 201012
2, 2010-12-10, 2011-01-12, 33, 201101
3, 2010-12-16, 2010-12-31, 15, 201012
4, 2010-12-16, 2011-01-31, 46, 201101
5, 2010-12-16, 2011-02-28, 74, 201102
6, 2010-12-16, 2011-03-07, 81, 201103