【发布时间】:2018-03-27 17:53:27
【问题描述】:
这可能听起来有点愚蠢,所以提前道歉。我有这样的数据框:
value date
0 1.0 2010-01-31
1 0.3 2010-02-28
2 1.6 2011-03-31
3 2.5 2011-04-30
4 -1.0 2012-05-31
5 -0.3 2012-06-30
6 1.6 2013-07-31
我想按年份分组,并将以下公式应用于每个组 [[(1 + v1) * (1 + v2) * (1 + v3) *....(1 +vn)] - 1] * 100 因此,操作是将组中的每个单独元素加 1,然后取其乘积,然后从结果值中减去 1,然后将其乘以 100
但是当我这样做时
df.groupby(a.date.dt.year).apply(lambda x: (1+x['value'])).prod()
我得到一个单一的值(我认为它得到了一切的产品。我如何获得每个组的产品(每年的单一值)
【问题讨论】:
标签: python pandas vector multiplication pandas-groupby