2017-08-24 26 views
-5

我有一個數據框,包含10年曆史上的每日股票數據。有沒有一種簡單的方法將其轉化爲年度變化,所以排在2010年,2011年...... 2017年等,而不是每天?它只需要顯示每一列的年份變化。數據框 - 將日常數據減少到年度頻率

+0

沒有人可以在不查看數據和預期輸出的情況下理解你想要的內容。在提問前請考慮這一點。 –

+0

也請努力粘貼文字而不是圖片。你已經在使用熊貓了,所以在這裏打印(df.head())並粘貼輸出應該不那麼困難。 –

回答

1

如果你的約會被格式化爲datetime您可以創建新的列Year

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

現在你可以按你一年的數據,我假設你需要sum

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

或者,如果您需要對每列使用不同的操作,您可以使用agg

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