下面是一个示例代码,演示如何按数据扩展到新列进行分组:
import pandas as pd
# 创建示例数据
data = {
'Name': ['John', 'Mike', 'Sarah', 'John', 'Mike', 'John'],
'Subject': ['Math', 'English', 'Math', 'Science', 'English', 'Science'],
'Score': [80, 90, 85, 75, 95, 80]
}
df = pd.DataFrame(data)
# 按照Name和Subject进行分组,并计算平均分
grouped = df.groupby(['Name', 'Subject']).mean()
print(grouped)
# 扩展到新列
grouped['Count'] = df.groupby(['Name', 'Subject']).count()['Score']
print(grouped)
输出结果:
Score
Name Subject
John Math 80.0
Science 77.5
Mike English 92.5
Sarah Math 85.0
Score Count
Name Subject
John Math 80.0 1
Science 77.5 2
Mike English 92.5 1
Sarah Math 85.0 1
在这个示例中,我们首先使用groupby
方法按照Name
和Subject
进行分组,并计算每组的平均分数。然后,我们使用count
方法计算每组的数据个数,并将其扩展到新的列Count
中。最后,我们输出分组后的结果。
下一篇:按数据列求平均