2017-08-24 1 views
-5

Ich habe einen Datenrahmen mit täglichen Bestandsdaten über eine 10-jährige Geschichte. Gibt es einen einfachen Weg, um dies in jährlichen Wechsel zu konvertieren, so Zeile für 2010, 2011 .... 2017 und nicht täglich? Es müsste lediglich die Änderung für das Jahr für jede Spalte angezeigt werden.Datenrahmen- Reduzierung der täglichen Daten auf Jahresfrequenz

+0

Niemand kann verstehen, was Sie wollen, ohne Ihre Daten und Ihre erwartete Ausgabe zu betrachten. Bitte berücksichtigen Sie dies, bevor Sie eine Frage stellen. –

+0

Auch bitte bemühen Sie sich, Text anstelle von Bildern einzufügen. Du arbeitest bereits mit Pandas, also sollte es nicht so schwer sein, "(df.head())" auszudrucken und die Ausgabe hier einzufügen. –

Antwort

1

Wenn Sie das Datum als datetime formatiert ist, können Sie neue Spalte erstellen Year:

df['Year'] = df['Date'].apply(lambda x: x.year) 

Jetzt können Sie gruppieren Sie Ihre Daten für Jahr, ich gehe davon aus brauchen Sie sum:

df = df.groupby('Year', as_index=False)[list_of_columns_you_need].sum() 

Alternativ Wenn Sie für jede Spalte einen anderen Vorgang benötigen, können Sie agg verwenden:

df = df.groupby('Year', as_index=False).agg('column1': 'sum', 'column2': 'mean') #hope you get the idea 
Verwandte Themen