我正在尝试开发一个程序,将每日数据转换为每月或每年的数据,依此类推。我有一个带有日期时间索引和价格变化%的DataFrame:
% Percentage
Date
2015-06-02 0.78
2015-06-10 0.32
2015-06-11 0.34
2015-06-12 -0.06
2015-06-15 -0.41
...
我按一定频率成功分组。然后我测试了:
df.groupby('Date').sum()
df.groupby('Date').cumsum()
如果是这种情况,它会很好地工作,但是问题是我无法以百分比方式(1 + x0)*(1 + x1)... -1来求和。然后我尝试了:
def myfunc(values):
p = 0
for val in values:
p = (1+p)*(1+val)-1
return p
df.groupby('Date').apply(myfunc)
我不明白apply()是如何工作的。似乎将我的功能应用于所有数据,而不仅是应用于分组的项目。
相关分类