我的数据框df
包含几千行和五列:course
,student_ID
,assignment
,teacher_comment
,{{1 }}。每行对应唯一的唯一teacher_comment_type
;只有大约30种不同的课程和100种不同的作业。
我很容易使用teacher_comment
来生成一个新的数据框,我可以看到每个df.groupby(['assignment', 'teacher_comment_type']).count()
给定的任务,这对于任何学生来说都是全面的 - 以及给出的评论类型的次数对于某项任务。我现在想在每个teacher_comment_type
本地使用计数列,但我很难这样做。
换句话说,现在,我有:
assignment
等等。自动地,第二列是本地按字母顺序排列的(在本地,我的意思是左列中的每个分配名称)。但是我希望在第三列本地重新排序 - 从最大到最小的顺序。那有意义吗?我已经摆弄Essay 1 | formatting error | 4
| punctuation | 5
| style feedback | 2
| ultimate score | 1
Project B | formatting error | 3
| punctuation | 5
| style feedback | 7
| ultimate score | 1
无济于事(它将改变数据框的整个结构,无法维护"本地"完整性 - 按作业名称组织)。
感谢。
答案 0 :(得分:0)
使用value_counts
代替
df.groupby('assignment').teacher_comment_type.value_counts()
assignment teacher_comment_type
Essay 1 punctuation 5
formatting error 4
style feedback 2
ultimate score 1
Project B style feedback 7
punctuation 5
formatting error 3
ultimate score 1
Name: teacher_comment_type, dtype: int64