2017-02-03 107 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是熊貓系列在我的情況(但我想也可能是一個數據框?)。這將返回一個多索引系列,在我的情況下是可以的,但如果它不是您的情況,那麼您可以操縱它來降低關卡或將索​​引變成新列