用法:
pandas.api.types.union_categoricals(to_union, sort_categories=False, ignore_order=False)
合并Categorical-like 的list-like,合并类别。
所有类别必须具有相同的 dtype。
- to_union:list-like
Categorical、CategoricalIndex 或 dtype='category' 的系列。
- sort_categories:布尔值,默认为 False
如果为 true,则结果类别将被 lexsorted,否则它们将按照它们在数据中出现的顺序进行排序。
- ignore_order:布尔值,默认为 False
如果为真,分类的有序属性将被忽略。结果是无序的分类。
- 分类的
- TypeError
所有输入都没有相同的 dtype
所有输入都没有相同的有序属性
所有输入都是有序的,并且它们的类别不相同
sort_categories=True 并且分类是有序的
- ValueError
通过的分类空列表
参数:
返回:
抛出:
注意:
要了解有关类别的更多信息,请参阅链接
例子:
>>> from pandas.api.types import union_categoricals
如果要组合不一定具有相同类别的分类,
union_categoricals
将组合 list-like 的分类。新类别将是被组合类别的并集。>>> a = pd.Categorical(["b", "c"]) >>> b = pd.Categorical(["a", "b"]) >>> union_categoricals([a, b]) ['b', 'c', 'a', 'b'] Categories (3, object):['b', 'c', 'a']
默认情况下,生成的类别将按照它们出现在数据的
categories
中的顺序排列。如果要对类别进行 lexsorted,请使用sort_categories=True
参数。>>> union_categoricals([a, b], sort_categories=True) ['b', 'c', 'a', 'b'] Categories (3, object):['a', 'b', 'c']
union_categoricals
也适用于组合相同类别和订单信息的两个类别的情况(例如,您还可以使用append
来做什么)。>>> a = pd.Categorical(["a", "b"], ordered=True) >>> b = pd.Categorical(["a", "b", "a"], ordered=True) >>> union_categoricals([a, b]) ['a', 'b', 'a', 'b', 'a'] Categories (2, object):['a' < 'b']
引发
TypeError
因为类别是有序的并且不相同。>>> a = pd.Categorical(["a", "b"], ordered=True) >>> b = pd.Categorical(["a", "b", "c"], ordered=True) >>> union_categoricals([a, b]) Traceback (most recent call last): ... TypeError:to union ordered Categoricals, all categories must be the same
0.20.0 版中的新函数
可以使用
ignore_ordered=True
参数组合具有不同类别或排序的有序分类。>>> a = pd.Categorical(["a", "b", "c"], ordered=True) >>> b = pd.Categorical(["c", "b", "a"], ordered=True) >>> union_categoricals([a, b], ignore_order=True) ['a', 'b', 'c', 'c', 'b', 'a'] Categories (3, object):['a', 'b', 'c']
union_categoricals
也适用于包含分类数据的CategoricalIndex
或Series
,但请注意,生成的数组将始终是普通的Categorical
>>> a = pd.Series(["b", "c"], dtype='category') >>> b = pd.Series(["a", "b"], dtype='category') >>> union_categoricals([a, b]) ['b', 'c', 'a', 'b'] Categories (3, object):['b', 'c', 'a']
相关用法
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代码示例
- Python pandas.api.types.is_sparse用法及代码示例
- Python pandas.api.types.is_extension_array_dtype用法及代码示例
- Python pandas.api.types.is_extension_type用法及代码示例
- Python pandas.api.types.is_dict_like用法及代码示例
- Python pandas.api.types.is_float_dtype用法及代码示例
- Python pandas.api.types.is_datetime64_any_dtype用法及代码示例
- Python pandas.api.types.is_hashable用法及代码示例
- Python pandas.api.types.is_categorical用法及代码示例
- Python pandas.api.types.is_scalar用法及代码示例
- Python pandas.api.types.is_number用法及代码示例
- Python pandas.api.types.is_signed_integer_dtype用法及代码示例
- Python pandas.api.types.is_datetime64tz_dtype用法及代码示例
- Python pandas.api.types.is_datetime64_ns_dtype用法及代码示例
- Python pandas.api.types.is_datetime64_dtype用法及代码示例
- Python pandas.api.types.is_timedelta64_dtype用法及代码示例
- Python pandas.api.types.infer_dtype用法及代码示例
- Python pandas.api.types.is_iterator用法及代码示例
- Python pandas.api.types.is_numeric_dtype用法及代码示例
- Python pandas.api.types.is_interval_dtype用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.api.types.union_categoricals。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。