当我的源数据还没有很好地分组时,我想要一种方法来执行分组和聚合函数。例如,给定以下数据帧:
#Create a DataFrame
d = {
'Name':['Alisa','Bobby','Cathrine','Alisa','Bobby','Cathrine',
'Alisa','Bobby','Cathrine','Alisa','Bobby','Cathrine'],
'Exam':['Semester 1','Semester 1','Semester 1','Semester 1','Semester 1','Semester 1',
'Semester 2','Semester 2','Semester 2','Semester 2','Semester 2','Semester 2'],
'Subject':['Mathematics','Mathematics','Mathematics','Science','Science','Science',
'Mathematics','Mathematics','Mathematics','Science','Science','Science'],
'Score':[62,47,55,74,31,77,85,63,42,67,89,81]}我希望能够打印一个按分数范围汇总结果的表,例如:
Score Subject Qty
60-70 Mathematics 2
Science 1
70-80 Mathematics 1
Science 2到目前为止我还没能弄清楚这件事。有什么好主意吗?
发布于 2020-11-21 08:34:57
尝试:
(df.groupby([pd.cut(df['Score'],bins=[60,70,80]),
'Subject'])
.size()
.to_frame('Qty')
)输出:
Qty
Score Subject
(60, 70] Mathematics 2
Science 1
(70, 80] Mathematics 0
Science 2https://stackoverflow.com/questions/64938629
复制相似问题