熊猫重新采样,百分比值

时间:2019-03-15 15:47:55

标签: python pandas resampling

我有一个带有日期时间索引的月度观测数据的熊猫数据框。我想转换成年度观察。问题是我的数据框中的值是性能值(例如:股票价格的月度变化)。在正确汇总的同时如何重新采样为年度值?

我需要做的例子:

     m1  0.1     to      q1 0.331
     m2  0.1             q2 0.089
     m3  0.1
     m4 -0.1
     m5  0.1
     m6  0.1

每月至每季度重新采样,1.1 ^ 3-1 = 0.331,0.9 *(1.1 ^ 2)-1 = 0.089

2 个答案:

答案 0 :(得分:1)

鉴于您的数据位于名为df的数据帧中,其中列val包含整数:

(df.val + 1).groupby(df.index // 3).prod() - 1

答案 1 :(得分:1)

使用feliks的答案,如果您不想更改索引,可以在分组之前应用正则表达式:

regex_pattern = lambda s: (int(re.search(r'\d+', s).group())-1)//3
d1 = (df.val + 1).groupby(regex_pattern).prod() - 1

退出:

0    0.331
1    0.089
Name: val, dtype: float64