为了账号安全,请及时绑定邮箱和手机立即绑定

将数据帧拆分为组,然后按组计算 Cumprod

将数据帧拆分为组,然后按组计算 Cumprod

梦里花落0921 2021-07-29 18:04:25
我想将 Dataframe n 组拆分为每组大小均匀:group_size = math.ceil(len(df)/n)然后我想计算每个组的 cumprod。例如: Val - Group - Cumprod  1  -   0   -    1  3  -   0   -    3  5  -   0   -    15  2  -   1   -    2  3  -   1   -    6  ..     ..       ..感谢有关可能方法的任何帮助。谢谢!
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

使用 Numpy 定义分组数组

#            Number of Groups you want

#                        🠟 

a = np.arange(len(df)) * 2 // len(df)


df.assign(Cumprod=df.groupby(a).Val.cumprod())


   Val  Group  Cumprod

0    1      0        1

1    3      0        3

2    5      0       15

3    2      1        2

4    3      1        6


查看完整回答
反对 回复 2021-08-03
?
皈依舞

TA贡献1851条经验 获得超3个赞

使用qcut和cumprod:


n = 2

df['cut'] = pd.qcut(df.index,n,labels=range(n))

df['cumprod'] = df.groupby('cut')['values'].cumprod()


查看完整回答
反对 回复 2021-08-03
  • 2 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号