Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用groupby进行计算_Python_Pandas_Math_Group By - Fatal编程技术网

在python中使用groupby进行计算

在python中使用groupby进行计算,python,pandas,math,group-by,Python,Pandas,Math,Group By,我有一个如下所示的示例数据帧df,我正在使用python中的groupby来解决其中四列colalphan\u fold相等的问题,然后取count列的和,并执行类似(score*count)/sum(count)的数学运算 df= 输出: col alpha lambda折叠最终版 0 0.5 0 1 1 -0.685249027 1 0.75 0 1 1 -0.750428163 2 1

我有一个如下所示的示例数据帧
df
,我正在使用python中的
groupby
来解决其中四列
col
alpha
n\u fold
相等的问题,然后取
count
列的和,并执行类似
(score*count)/sum(count)的数学运算

df=

输出:


col alpha lambda折叠最终版
0   0.5       0       1      1     -0.685249027
1   0.75      0       1      1     -0.750428163
2   1         0       1      2     -0.772006323
我已经尝试了下面的代码,但我无法解决。有没有办法解决这个问题

代码:df2=(df.groupby(['sample','alpha','lambda','n\u fold'])。应用(lambda x:(x.score*x.count)/sum(count))。到帧('final'))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
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