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

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

  ..     ..       ..

感谢有关可能方法的任何帮助。谢谢!


梦里花落0921
浏览 196回答 2
2回答

杨魅力

使用 Numpy 定义分组数组#            Number of Groups you want#                        🠟 a = np.arange(len(df)) * 2 // len(df)df.assign(Cumprod=df.groupby(a).Val.cumprod())   Val  Group  Cumprod0    1      0        11    3      0        32    5      0       153    2      1        24    3      1        6

皈依舞

使用qcut和cumprod:n = 2df['cut'] = pd.qcut(df.index,n,labels=range(n))df['cumprod'] = df.groupby('cut')['values'].cumprod()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python