Ich habe Daten in folgenden Form angeordnet:[Numpy/Pandas] Wie kann ich einen Panel-Datensatz effizient aus Transaktionsdatensätzen erstellen?
ID,DATE,STATUS
1,6/20/2011,A
1,1/14/2013,B
1,8/1/2016,C
2,3/1/2005,A
2,4/30/2005,B
2,6/30/2010,C
2,8/20/2010,D
Ich mag diese Transaktionen in eine unausgeglichene Panel mit einer jährlichen Frequenz konvertieren:
ID,YEAR,STATUS
1,2011,A
1,2012,A
1,2013,B
1,2014,B
1,2015,B
1,2016,C
2,2005,B
2,2006,B
2,2007,B
2,2008,B
2,2009,B
2,2010,D
Also im Grunde möchte ich eine jährliche Serie für jede ID Das umfasst das erste bis letzte Datum, das für diese ID beobachtet wurde. Der Status in jedem Jahr ist der letzte im Jahr beobachtete Status, wenn mehr als ein Datensatz für dieses Jahr vorhanden ist oder der letzte beobachtete Status, wenn in diesem Jahr kein Datum vorhanden ist.
Dies ist ein großer Datensatz, also muss eine gute Antwort effiziente Methoden von numpy/pandas verwenden.
Brilliant! Vielen Dank. – dlm
Es scheint, dass dies nur funktioniert, wenn die Daten eindeutig sind. – dlm