pandas数据框中的度假村特定列

时间:2017-06-13 19:59:05

标签: python sorting pandas dataframe

我的数据框df包含几千行和五列:coursestudent_IDassignmentteacher_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 无济于事(它将改变数据框的整个结构,无法维护"本地"完整性 - 按作业名称组织)。

感谢。

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