【发布时间】:2018-08-07 09:25:27
【问题描述】:
我正在尝试开发一个程序来将每日数据转换为每月或每年的数据等等。 我有一个带有日期时间索引和价格变化 % 的 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 () 是如何工作的。它似乎将我的功能应用于所有数据,而不仅仅是分组项目。
【问题讨论】:
-
你能说明一下,你的预期输出是什么?
-
当然。我刚刚编辑了帖子。谢谢。
标签: python python-3.x pandas