首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中使用groupby进行计算

在python中使用groupby进行计算
EN

Stack Overflow用户
提问于 2018-07-25 08:43:15
回答 1查看 98关注 0票数 0

我有一个示例数据帧,如下所示,我正在使用Python语言中的groupby来解决四列col alpha lambda n_fold相等的问题,然后求count列的和并执行类似(score*count)/sum(count)的数学运算

df =

    col   fold  alpha   lambda  score        n_fold count
0   0.5      0    0        1    -0.424915241    1   3966
1   0.5      1    0        1    -1.669508557    1   10182
2   0.5      2    0        1    -0.157958626    1   17048
3   0.75     0    0        1    -0.459086614    1   3966
4   0.75     1    0        1    -1.830245577    1   10182
5   0.75     2    0        1    -0.173278918    1   17048
6   1        0    0        1    -0.442985033    2   3966
7   1        1    0        1    -1.886578419    2   10182
8   1        2    0        1    -0.18286539     2   17048

输出:

  `col    alpha   lambda  fold         final 0   0.5       0       1      1     -0.685249027 1   0.75      0       1      1     -0.750428163 2   1         0       1      2     -0.772006323`  I have tried below code but I am not able to solve. Is there anyway to solve this.

代码:df2 = (df.groupby(['sample', 'alpha', 'lambda', 'n_fold']).apply(lambda x: (x.score*x.count)/sum(count)).to_frame('final'))

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-25 09:00:59

IIUC

df.groupby(['col', 'alpha', 'lambda', 'n_fold']).apply(lambda x: sum((x['score']*x['count']))/sum(x['count']))
Out[352]: 
col   alpha  lambda  n_fold
0.50  0      1       1        -0.685249
0.75  0      1       1        -0.750428
1.00  0      1       2        -0.772006
dtype: float64
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51509371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档