对组应用操作而不聚合

2024-04-25 12:53:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想对一个数据帧的多个组应用一个操作,然后用结果填充该组的所有值。让我们采取平均和np.cumsum公司作为示例和以下数据帧:

df=pd.DataFrame({"a":[1,3,2,4],"b":[1,1,2,2]})

看起来像这样

   a  b
0  1  1
1  3  1
2  2  2
3  4  2

现在我想用b对数据帧进行分组,然后取每个组中a的平均值,然后将np.cumsum应用于平均值,然后用(依赖于组的)结果替换a的所有值。你知道吗

对于前三步,我会这样开始

df.groupby("b").mean().apply(np.cumsum)

这给了

   a
b   
1  2
2  5

但我想得到的是

   a  b
0  2  1
1  2  1
2  5  2
3  5  2

有什么好办法解决这个问题吗?你知道吗


Tags: 数据示例dataframedfnp公司mean平均值