Python Dataframe如何使用groupby对行值求和

时间:2017-12-31 09:49:11

标签: python pandas dataframe group-by pandas-groupby

我试图对一个专栏进行分组' Over_Id'在数据框中,并在分组时对列runs_scored的值求和。

如果我使用groupby,我会放弃其他列

例如:

ball.groupby(['Match_Id','Innings_Id','Over_Id'])['runs_scored'].sum()

enter image description here

我能够获得runs_scored列,但是在新的数据帧中,不是我在图像中看到的实际值。我不能merge,因为我添加的runs_scored列基于3列。

简而言之,我只希望每个Over_Id有一个条目,并且它对应runs_scored

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以按runs_scored列之外的每一列进行分组,然后找到总和。

c = df.columns.difference(['runs_scored']).tolist()
df = df.groupby(c, as_index=False).runs_scored.sum()

另一方面,您似乎有很多冗余数据条目。你看过你的桌子正常化了吗?