数据框 - 将每日数据减少到年度频率
Posted
技术标签:
【中文标题】数据框 - 将每日数据减少到年度频率【英文标题】:Dataframe- reducing daily data to annual frequency 【发布时间】:2018-02-01 23:59:29 【问题描述】:我有一个数据框,其中包含 10 年历史上的每日股票数据。有没有一种简单的方法可以将其转换为年度变化,所以行是 2010、2011 ....2017 等而不是每天?它只需要显示每一列的年份变化。
【问题讨论】:
如果不查看您的数据和预期输出,任何人都无法理解您想要什么。请在提问之前考虑到这一点。 另外请尽量粘贴文字而不是图片。您已经在使用 pandas,所以print(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
【讨论】:
以上是关于数据框 - 将每日数据减少到年度频率的主要内容,如果未能解决你的问题,请参考以下文章