Python 访问熊猫中索引对象的类别代码
如何访问CategoricalIndex的类别代码 是我用于序列的,但此方法不适用于索引对象。目前,我先转换成一个系列,但这是昂贵的,似乎反模式 这是一个简单的例子:Python 访问熊猫中索引对象的类别代码,python,pandas,indexing,series,categorical-data,Python,Pandas,Indexing,Series,Categorical Data,如何访问CategoricalIndex的类别代码 是我用于序列的,但此方法不适用于索引对象。目前,我先转换成一个系列,但这是昂贵的,似乎反模式 这是一个简单的例子: values = list('abeadc') s = pd.Series(pd.Categorical(values, categories=list('abcde'))) print(s.cat.codes.tolist()) # [0, 1, 4, 0, 3, 2] i = pd.CategoricalIndex(pd
values = list('abeadc')
s = pd.Series(pd.Categorical(values, categories=list('abcde')))
print(s.cat.codes.tolist())
# [0, 1, 4, 0, 3, 2]
i = pd.CategoricalIndex(pd.Categorical(values, categories=list('abcde')))
print(i.cat.codes.tolist())
# AttributeError: 'CategoricalIndex' object has no attribute 'cat'
print(i.to_series().cat.codes.tolist())
# [0, 1, 4, 0, 3, 2]
您可以直接从分类索引访问“代码”属性:
并且,如您的示例所示,您可以将其转换为Python列表:
i.codes.tolist()
# [0, 1, 4, 0, 3, 2]
i.codes.tolist()
# [0, 1, 4, 0, 3, 2]