2017-02-03 108 views
0

我已经看过Pandas中的resample/Timegrouper功能。但是,我试图弄清楚如何在这个特定情况下使用它。我想对金融资产进行季节性分析 - 比如S & P 500.我想知道资产在多年来平均在任意两个自定义日期之间执行的情况。例如:如果我有10年的日历变化S & P 500,并且我选择了3月13日到3月23日之间的日期范围,那么我想知道我范围内每个日期的平均变化。最近10年 - 即过去10年每年3/13的平均变化,然后是3/14,3/15等,直到3/23。这意味着我需要按月分组,并在不同年份进行平均值分析。datetime groupby/resample不同年份的月份和日期(下降年份)

我可以通过创建年份,月份和日期的3个不同列,然后由其中的两个进行分组来完成此操作,但我不知道是否有更优雅的方法来完成此操作。

回答

0

我想通了。事实证明,这很简单,我只是哑巴。

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

其中x是熊猫系列在我的情况(但我想也可能是一个数据框?)。这将返回一个多索引系列,在我的情况下是可以的,但如果它不是您的情况,那么您可以操纵它来降低关卡或将索​​引变成新列