如何访问熊猫的类别代码 CategoricalIndex 是吗?
CategoricalIndex
pd.Series.cat.codes 是用于系列的,但此方法不适用于 Index 物体。目前,我先转换成一个系列,但这是昂贵的,似乎反模式。
pd.Series.cat.codes
Index
这是一个最小的例子:
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]
您可以访问 codes 属性直接来自 CategoricalIndex 以下内容:
codes
i.codes # array([0, 1, 4, 0, 3, 2], dtype=int8)
和您的示例一样,您可以将其转换为python列表:
i.codes.tolist() # [0, 1, 4, 0, 3, 2]