返回常规大发帧的数据帧组



我正在尝试按数据帧上的列分组并返回常规数据帧(就像您从SQL中获得的那样。但是当我尝试时,它给了我一个稍微不同的结构。

data = [['tom', 10], ['nick', 15], ['juli', 14], ['tom', 5], ['nick', 10], ['jack', 10]] 
df = pd.DataFrame(data, columns = ['Name', 'Score'])

Surname  Score
0   tom     10
1   nick    15
2   July    14
3   tom      5
4   nick    10
5   Jack    10

这是我想要得到的输出

Surname  Total_score
0   tom     15
1   nick    25
2   July    14
3   Jack    10

但是当我尝试时

df.groupby('Name').Score.agg(['sum'])

结果有点像

sum
Surname    
0   tom     15
1   nick    25
2   July    14
3   Jack    10

这应该可以解决问题:

df.groupby("Name", as_index=False).agg({"Score": sum}).rename(columns={"Score": "Total_score"})

输出:

Name  Total_score
0  jack           10
1  juli           14
2  nick           25
3   tom           15
data = [['tom', 10], ['nick', 15], ['juli', 14], ['tom', 5], ['nick', 10], ['jack', 10]] 
df = pd.DataFrame(data, columns = ['Name', 'Score'])

Name  Score
0   tom     10
1  nick     15
2  juli     14
3   tom      5
4  nick     10
5  jack     10

我们可以通过以下操作来总结DF:

df1 = df.groupby('Name').agg({'Score':"sum"}).reset_index()
df1
Name  Score
0  jack     10
1  juli     14
2  nick     25
3   tom     15

最新更新