是通过使用groupby
函数和agg
函数来实现的。groupby
函数用于按照指定的列或多个列对数据进行分组,而agg
函数用于对分组后的数据进行聚合操作。
下面是创建汇总行的步骤:
import pandas as pd
data = {'Name': ['John', 'Emma', 'John', 'Emma', 'John', 'Emma'],
'Subject': ['Math', 'Math', 'Science', 'Science', 'English', 'English'],
'Score': [90, 95, 85, 92, 88, 90]}
df = pd.DataFrame(data)
groupby
函数按照指定的列进行分组,并使用agg
函数对分组后的数据进行聚合操作。在这个例子中,我们按照Name
列进行分组,并计算每个人的总分和平均分。summary = df.groupby('Name').agg({'Score': ['sum', 'mean']})
summary.loc['Total'] = summary.sum()
最终的Dataframe将包含每个人的总分和平均分,并且还会有一个汇总行,显示所有人的总分和平均分。
完整的代码示例:
import pandas as pd
data = {'Name': ['John', 'Emma', 'John', 'Emma', 'John', 'Emma'],
'Subject': ['Math', 'Math', 'Science', 'Science', 'English', 'English'],
'Score': [90, 95, 85, 92, 88, 90]}
df = pd.DataFrame(data)
summary = df.groupby('Name').agg({'Score': ['sum', 'mean']})
summary.loc['Total'] = summary.sum()
print(summary)
输出结果:
Score
sum mean
Name
Emma 277 92.33
John 263 87.67
Total 540 180.00
在这个例子中,我们创建了一个包含学生姓名、科目和分数的Dataframe。然后,我们按照姓名进行分组,并计算每个人的总分和平均分。最后,我们将汇总结果添加到Dataframe中,并打印出最终的结果。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云