在Pandas DataFrame中总结列值

2024-04-28 03:20:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在pandas数据帧中,是否可以折叠具有相同值的列,并在另一列中汇总这些值?

代码

data = {"score":{"0":9.397,"1":9.397,"2":9.397995,"3":9.397996,"4":9.3999},"type":{"0":"advanced","1":"advanced","2":"advanced","3":"newbie","4":"expert"},"count":{"0":394.18930604,"1":143.14226729,"2":9.64172783,"3":0.1,"4":19.65413734}}
df = pd.DataFrame(data)
df

输出

     count       score       type
0    394.189306  9.397000    advanced
1    143.142267  9.397000    advanced
2    9.641728    9.397995    advanced
3    0.100000    9.397996    newbie
4    19.654137   9.399900    expert

在上面的例子中,前两行有相同的scoretype,所以这些行应该合并在一起,并且它们的分数相加。

所需输出

     count       score       type
0    537.331573  9.397000    advanced
1    9.641728    9.397995    advanced
2    0.100000    9.397996    newbie
3    19.654137   9.399900    expert

Tags: 数据代码dataframepandasdfdatatypecount
1条回答
网友
1楼 · 发布于 2024-04-28 03:20:28

这是groupby的作业:

>>> df.groupby(["score", "type"]).sum()
                        count
score    type                
9.397000 advanced  537.331573
9.397995 advanced    9.641728
9.397996 newbie      0.100000
9.399900 expert     19.6541374
>>> df.groupby(["score", "type"], as_index=False).sum()
      score      type       count
0  9.397000  advanced  537.331573
1  9.397995  advanced    9.641728
2  9.397996    newbie    0.100000
3  9.399900    expert   19.654137

相关问题 更多 >