熊猫重新取样,百分比值

问题描述 投票:1回答:2

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

我需要做的例子:

     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

python pandas resampling
2个回答
1
投票

假设您的数据位于名为df的数据框中,并且val列保存整数:

(df.val + 1).groupby(df.index // 3).prod() - 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
© www.soinside.com 2019 - 2024. All rights reserved.