我想将 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

皈依舞
TA贡献1851条经验 获得超3个赞
使用qcut和cumprod:
n = 2
df['cut'] = pd.qcut(df.index,n,labels=range(n))
df['cumprod'] = df.groupby('cut')['values'].cumprod()
添加回答
举报
0/150
提交
取消