我正在尝试按数据帧上的列分组并返回常规数据帧(就像您从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