数据框 - 将每日数据减少到年度频率

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

【讨论】:

以上是关于数据框 - 将每日数据减少到年度频率的主要内容,如果未能解决你的问题,请参考以下文章

如何在熊猫数据框中查找列的 ngram 频率?

如何在熊猫数据框列中获取 NaN 观察的频率 [重复]

给定数据框中项集的计数频率

如何按数据框中的数据计算频率? [复制]

如何在pyspark数据框中找到没有分组的累积频率

如何为关联规则数据创建项目频率图?通过转换为数据框或数字?