當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。