有新专栏吗?python中的窗口函数?
我对python和SQL比较陌生,需要一些帮助。 我有一个数据集,每个受试者都得到了任务的分数,看起来是这样的(对不起,我不知道如何在这里编码df): 我想做一个新的列,每行每门课的分数总和如下:有新专栏吗?python中的窗口函数?,python,sql,pandas,Python,Sql,Pandas,我对python和SQL比较陌生,需要一些帮助。 我有一个数据集,每个受试者都得到了任务的分数,看起来是这样的(对不起,我不知道如何在这里编码df): 我想做一个新的列,每行每门课的分数总和如下: id task score sum_score 1 1 1 1 1 2 0 1 2 1 2 3 2 2 1 3 3 1 2
id task score sum_score
1 1 1 1
1 2 0 1
2 1 2 3
2 2 1 3
3 1 2 2
3 2 NaN 2
感谢您的帮助,非常感谢您的任何帮助,无论是给我写信还是给我转达
我认为这应该像SQL中的OVER函数一样工作,在pandas中,它将这样编写:
data={“id”:[1,1,2,2,3],“task”:[1,2,1,2,1,2],“score”:[1,0,2,1,2,np.nan]}
df=pd.DataFrame(数据)
df[“总和分数”]=df.groupby(“id”)[“分数”].transform(np.sum)
结果:
id任务分数总和\u分数
0 1 1 1.0 1.0
1 1 2 0.0 1.0
2 2 1 2.0 3.0
3 2 2 1.0 3.0
4 3 1 2.0 2.0
5 3 2 2.0
df.groupby('id')['score'].transform('sum')
?您是在寻找panda解决方案还是sql解决方案?panda解决方案,但如果没有任何帮助,我将使用sql。您是否尝试了@QuangHoang?的解决方案,看起来这就是您想要的
id task score sum_score
1 1 1 1
1 2 0 1
2 1 2 3
2 2 1 3
3 1 2 2
3 2 NaN 2