pandas.Categorical #

熊猫类 分类类别= None ordered = None dtype = None fastpath = _NoDefault.no_default copy = True[来源] #

以经典 R/S-plus 方式表示分类变量。

类别只能采用有限且通常是固定数量的可能值(类别)。与统计分类变量相比,分类变量可能有顺序,但不可能进行数值运算(加法、除法等)。

Categorical的所有值要么在类别中,要么在 np.nan中。在类别之外分配值将引发ValueError。顺序是由类别的顺序定义的,而不是值的词汇顺序。

参数
列表式

分类的值。如果给出类别,则不在类别中的值将替换为 NaN。

索引(唯一),可选

此类别的独特类别。如果未给出,则假定类别是的唯一值(如果可能,则按它们出现的顺序进行排序)。

有序布尔值,默认 False

该分类是否被视为有序分类。如果为 True,则结果分类将被排序。排序时,有序分类遵循其类别属性的顺序 (如果提供的话,类别属性又是类别参数)。

dtype分类Dtype

CategoricalDtype用于此分类的实例。

加薪
值错误

如果类别不验证。

类型错误

ordered=True如果给出了显式但没有类别并且 不可排序。

也可以看看

CategoricalDtype

分类数据的类型。

CategoricalIndex

具有底层证券的指数Categorical

笔记

请参阅用户指南 了解更多信息。

例子

>>> pd.Categorical([1, 2, 3, 1, 2, 3])
[1, 2, 3, 1, 2, 3]
Categories (3, int64): [1, 2, 3]
>>> pd.Categorical(['a', 'b', 'c', 'a', 'b', 'c'])
['a', 'b', 'c', 'a', 'b', 'c']
Categories (3, object): ['a', 'b', 'c']

缺失值不包含在类别中。

>>> c = pd.Categorical([1, 2, 3, 1, 2, 3, np.nan])
>>> c
[1, 2, 3, 1, 2, 3, NaN]
Categories (3, int64): [1, 2, 3]

但是,它们的存在在代码属性中通过代码-1指示。

>>> c.codes
array([ 0,  1,  2,  0,  1,  2, -1], dtype=int8)

有序类别可以根据类别的自定义顺序进行排序,并且可以具有最小值和最大值。

>>> c = pd.Categorical(['a', 'b', 'c', 'a', 'b', 'c'], ordered=True,
...                    categories=['c', 'b', 'a'])
>>> c
['a', 'b', 'c', 'a', 'b', 'c']
Categories (3, object): ['c' < 'b' < 'a']
>>> c.min()
'c'

属性

categories

此分类的类别。

codes

该分类索引的类别代码。

ordered

类别是否具有有序关系。

dtype

对于CategoricalDtype这个例子。

方法

from_codes(代码[、类别、有序、...])

从代码和类别或 dtype 中创建分类类型。

__array__([数据类型,复制])

numpy 数组接口。