熊猫订购了关于考试成绩的分类数据' D',...,' A +'

时间:2017-08-19 01:28:42

标签: pandas sorting categorical-data

我在熊猫中有以下数据,我很惊讶输出是:D + A. 我期待着A + D

有人可以解释

df = pd.DataFrame(['A+','A','A-','B+','B','B-','C+','C','C-','D+','D'],
                     index = ['excellent','excellent','excellent','good','good','good','ok','ok','ok','poor','poor'])
df.rename (columns={0:'Grades'},inplace=True)
grades = df['Grades'].astype('category', categories = ['D','D+', 'C-', 'C','C+','B-','B','B+','A-','A','A+'],ordered=True)
print(max(grades),min(grades))

> D+ A

1 个答案:

答案 0 :(得分:2)

max是一个Python函数,它不遵守类别排序。它使用基于unicode代码的词典排序。

如果您想考虑分类订单,则需要使用在Series / DataFrames上定义的方法:

print(grades.min(), grades.max())

产量

D A+