Ich habe einen Datenrahmen 'RPT', indiziert durch (STK_ID, RPT_Date), enthält die kumulierten Verkäufe von Aktien für jeden Querter:
%Vor% Ich möchte die einzelnen Verkäufe mit "groupby" von STK_ID & amp; RPT_Yr, wie zum Beispiel: RPT.groupby('STK_ID','RPT_Yr')['sales'].transform(lambda x: x-x.shift(1))
, wie geht das?
Angenommen, ich kann das Jahr von lambda x : datetime.strptime(x, '%Y%m%d').year
Angenommen, hier ist RPT_Data ein String, warum sollte man Datetime nicht benutzen?
Es ist möglich, Gruppen mithilfe von Funktionen zu gruppieren, jedoch nur in einem Nicht-MultiIndex-Index. Umgehen Sie dies, indem Sie den Index zurücksetzen, und setzen Sie 'RPT_Date' als Index, um das Jahr zu extrahieren (Hinweis: Pandas wechselt zwischen Objekt und Int als dtype für 'RPT_Date').
%Vor%Andere Option ist die Verwendung einer Tmp-Spalte
%Vor%BEARBEITEN Reorganisieren Sie Ihren Rahmen viel einfacher.
%Vor%