如何在pandas中groupby之后乘以一列的行?

Lil*_*ili 5 python pandas

我有以下格式的熊猫数据框:

 user  percent 
  x      0.2
  x      0.5
  x      0.8
  y      0.1
  y      0.6
  y      0.2
  y      0.6
Run Code Online (Sandbox Code Playgroud)

我正在尝试为每个用户乘以行中的百分比。

在示例中,x 的结果将为 0.2*0.5*0.8 = 0.08

因此,数据框应如下所示:

user     result
  x      0.08
  y      0.0072
Run Code Online (Sandbox Code Playgroud)

如何获得我的预期输出?

cs9*_*s95 8

groupby+ prod

df.groupby('user', as_index=False).prod()

  user  percent
0    x   0.0800
1    y   0.0072
Run Code Online (Sandbox Code Playgroud)

或者,使用apply+ np.prod-

df.groupby('user', as_index=False).apply(np.prod)

  user  percent
0    x   0.0800
1    y   0.0072
Run Code Online (Sandbox Code Playgroud)