当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark Series.cat.set_categories用法及代码示例


本文简要介绍 pyspark.pandas.Series.cat.set_categories 的用法。

用法:

cat.set_categories(new_categories: Union[pandas.core.indexes.base.Index, List], ordered: Optional[bool] = None, rename: bool = False, inplace: bool = False) → Optional[ps.Series]

将类别设置为指定的new_categories。

new_categories 可以包含新类别(这将导致未使用的类别)或删除旧类别(这将导致值设置为 NaN)。如果 rename==True ,类别将被简单地重命名(比旧类别中的项目更少或更多将导致值分别设置为 NaN 或未使用的类别)。

此方法可用于同时执行多个添加、删除和重新排序操作,因此比通过更专业的方法执行单个步骤更快。

另一方面,此方法不进行检查(例如,旧类别是否包含在重新排序的新类别中),这可能会导致令人惊讶的变化,例如在使用不考虑 S1 字符串的特殊字符串 dtypes 时等于单个 char python 字符串。

参数

new_categoriesIndex-like

新顺序的类别。

ordered布尔值,默认为 False

分类是否被视为有序分类。如果未给出,请勿更改排序信息。

rename布尔值,默认为 False

new_categories 是否应被视为旧类别的重命名或重新排序的类别。

inplace布尔值,默认为 False

是否就地重新排序类别或返回此分类的副本以及重新排序的类别。

自版本 3.2.0 起已弃用。

返回

具有重新排序类别的系列或无(如果就位)。

抛出

ValueError

如果 new_categories 不作为类别验证

例子

>>> s = ps.Series(list("abbccc"), dtype="category")
>>> s  
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (3, object): ['a', 'b', 'c']
>>> s.cat.set_categories(['b', 'c'])  
0    NaN
1      b
2      b
3      c
4      c
5      c
dtype: category
Categories (2, object): ['b', 'c']
>>> s.cat.set_categories([1, 2, 3], rename=True)  
0    1
1    2
2    2
3    3
4    3
5    3
dtype: category
Categories (3, int64): [1, 2, 3]
>>> s.cat.set_categories([1, 2, 3], rename=True, ordered=True)  
0    1
1    2
2    2
3    3
4    3
5    3
dtype: category
Categories (3, int64): [1 < 2 < 3]

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.Series.cat.set_categories。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。