datetime groupby / resample不同年份的月份和日期(降年)

时间:2017-02-03 23:37:55

标签: python date pandas datetime

我查看了Pandas中的resample / Timegrouper功能。但是,我试图弄清楚如何在特定情况下使用它。我想对金融资产进行季节性分析 - 让我们说S& P 500.我想知道资产在多年平均任意两个自定义日期之间的表现。

示例:如果我有S& P 500每日更改的10年历史,并且我选择3月13日到3月23日之间的日期范围,那么我想知道我的范围内每个日期的平均变化10年 - 即过去10年每年3/13的平均变化,然后是3/14,3/15等,直到3月23日。这意味着我需要按月分组,并在不同年份进行平均值。

我可以通过为年,月和日创建3个不同的列然后按其中的两个进行分组来实现此目的,但我想知道是否有更优雅的方法来执行此操作。

1 个答案:

答案 0 :(得分:1)

我明白了。结果很简单,我只是愚蠢。

x.groupby([x.index.month, x.index.day], as_index=True).mean()

其中x是我的情况下的熊猫系列(但我想也可能是一个数据帧?)。这将返回一个多索引系列,在我的情况下是好的,但是如果它不在你的情况下那么你可以操纵它来降低一个级别或将索引转换成新列