用法:
class pandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=False, copy=True)
以经典 R /S-plus 方式表示分类变量。
Categoricals
只能采用有限且通常是固定数量的可能值 (categories
)。与统计分类变量相比,Categorical
可能有顺序,但不能进行数值运算(加法、除法等)。Categorical
的所有值都在categories
或np.nan
中。在categories
之外分配值将引发ValueError
。顺序由categories
的顺序定义,而不是值的词法顺序。- values:list-like
分类的值。如果给定类别,则不在类别中的值将替换为 NaN。
- categories:Index-like(唯一),可选
此类别的唯一类别。如果未给出,则假定类别是
values
的唯一值(如果可能,按它们出现的顺序排序)。- ordered:布尔值,默认为 False
此分类是否被视为有序分类。如果为 True,则将对生成的分类进行排序。排序后的分类尊重其
categories
属性的顺序(如果提供,该属性又是categories
参数)。- dtype:分类类型
用于此分类的
CategoricalDtype
的实例。
- ValueError
如果类别不验证。
- TypeError
如果给出了明确的
ordered=True
但没有给出categories
并且values
是不可排序的。
参数:
抛出:
注意:
有关更多信息,请参阅用户指南。
例子:
>>> 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)
Ordered
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'
相关用法
- Python pandas.CategoricalIndex.add_categories用法及代码示例
- Python pandas.CategoricalIndex.remove_unused_categories用法及代码示例
- Python pandas.CategoricalIndex.remove_categories用法及代码示例
- Python pandas.CategoricalIndex.map用法及代码示例
- Python pandas.CategoricalIndex.rename_categories用法及代码示例
- Python pandas.Categorical.from_codes用法及代码示例
- Python pandas.CategoricalDtype用法及代码示例
- Python pandas.CategoricalIndex用法及代码示例
- Python pandas.arrays.IntervalArray.is_empty用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
- Python pandas.DataFrame.apply用法及代码示例
- Python pandas.DataFrame.combine_first用法及代码示例
- Python pandas.read_pickle用法及代码示例
- Python pandas.Index.value_counts用法及代码示例
- Python pandas.DatetimeTZDtype用法及代码示例
- Python pandas.DataFrame.cumsum用法及代码示例
- Python pandas.Interval.is_empty用法及代码示例
- Python pandas.api.indexers.FixedForwardWindowIndexer用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.Categorical。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。