2024-06-02 10:14:27 发布
网友
我有一个带有日期时间索引的每月观测数据框架。我想转换成年度观察。问题是,我的数据框中的值是性能值(例如:每月股价变化百分比)。如何在正确聚合的同时重新采样到年度值?你知道吗
我需要的示例:
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
使用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
假设您的数据驻留在名为df的数据帧中,val列包含整数:
df
val
(df.val + 1).groupby(df.index // 3).prod() - 1
使用feliks的答案,如果您不想更改索引,可以在分组之前应用正则表达式:
输出:
假设您的数据驻留在名为
df
的数据帧中,val
列包含整数:相关问题 更多 >
编程相关推荐