下面的代码:
s2 = pd.Series(['m','l','s','xl','xs'])
size_type = pd.api.types.CategoricalDtype(categories =['xs','s','m','l','xl'], ordered = True)
s3 = s2.astype(size_type)
print(s3)
产生以下结果:
0 m
1 l
2 s
3 xl
4 xs
dtype: category
Categories (5, object): ['xs' < 's' < 'm' < 'l' < 'xl']
因此,我希望"m"类型会比"s"类型大,这与我创建类别时设置的顺序一致,但当我在比较中检查这一点时,结果正好相反:
第一个月
产生以下结果:
False
为什么会这样呢?
1条答案
按热度按时间oyt4ldly1#
s3[0]
和s3[2]
返回的字符串不是按类别代码排序的,可以使用.cat.codes
访问内部存储的代码进行比较:要查看
.cat.codes
的详细信息: