pandas.Categorical#

class pandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=False, copy=True)[源代码]#

以经典的R/S+方式表示一个分类变量。

Categoricals 只能接受有限且通常是固定数量的可能值 (categories )。与统计分类变量相比,a Categorical 可能有顺序,但数值运算(加法、除法等)是不可能的。

属性的所有值 Categorical 要么是在 categoriesnp.nan 。在外部赋值 categories 将引发一个 ValueError 。顺序由 categories ,而不是值的词汇顺序。

参数
values列表式

直接词的价值。如果给定类别,则不在类别中的值将被替换为NaN。

categories类似索引(唯一),可选

这一分类的唯一类别。如果未指定,则假定类别为的唯一值 values (如果可能,按照它们出现的顺序进行排序)。

ordered布尔值,默认为False

该定语是否被视为有序的定语。如果为True,则将对结果分类进行排序。一种有序的绝对方面,在分类后,其顺序 categories 属性(该属性又是 categories 参数(如果提供)。

dtypeCategoricalDtype

的一个实例 CategoricalDtype 用来进行这一分类。

加薪
ValueError

如果类别不有效。

TypeError

如果显式 ordered=True 是给的,但不是 categories 以及 values 是不可排序的。

参见

CategoricalDtype

键入以获取分类数据。

CategoricalIndex

一种具有基础的指数 Categorical

注意事项

请参阅 user guide 想要更多。

示例

>>> 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]

但是,它们的存在在 codes 按代码显示的属性 -1

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

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

>>> 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 \(代码[, categories, ordered, dtype] )

根据代码和类别或数据类型制作分类类型。

__array__ \([dtype] )

NumPy数组接口。