pyspark.pandas.Series.cat.set_categories

貓。 set_categories ( new_categories:聯盟(pandas.core.indexes.base.Index,列表],命令:可選(bool]=沒有一個,重命名:bool=,原地:bool= )→可選(ps.Series]

將類別設置為指定的new_categories。

new_categories可以包括新類別(這將導致未使用的類別)或刪除舊的類別(導致值設置為NaN)。如果重命名= = True,簡單的類別將重命名(或多個物品比舊類別將導致值分別設置為南或未使用的類別)。

這種方法可以用來執行超過一個動作的添加、刪除和重新排序,同時,因此速度比執行單個步驟通過更專業的方法。

另一方麵這個方法不做檢查(例如,是否舊的類都包含在新的類別重新排序),這會導致驚人的變化,例如當使用特殊字符串dtypes,不考慮S1字符串等於一個char python字符串。

參數
new_categories 將注釋

新秩序的類別。

命令 bool,默認的錯誤

定是否都被視為一個有序的分類。如果不是,不改變命令的信息。

重命名 bool,默認的錯誤

是否應該考慮new_categories作為重命名舊的類別或重新排序類別。

原地 bool,默認的錯誤

是否要重新排序分類的類別就地或返回一個複製和重新排序類別。

返回
如果原地係列重新排序類別或沒有。
提出了
ValueError

如果new_categories不驗證類別

另請參閱

rename_categories

重命名類別。

reorder_categories

重新排序類別。

add_categories

添加新類別。

remove_categories

刪除指定的類別。

remove_unused_categories

刪除未使用的類別。

例子

> > >年代=ps係列(列表(“abbccc”),dtype=“類別”)> > >年代0一個1 b2 b3 c4攝氏度5度dtype:類別類別(對象):[' a ', ' b ', ' c ']
> > >年代set_categories([“b”,“c”])0南1 b2 b3 c4攝氏度5度dtype:類別類別(對象):[' b ', ' c ')
> > >年代set_categories([1,2,3),重命名=真正的)0 11 22 - 23個34個35個3dtype:類別int64類別(3):(1、2、3)
> > >年代set_categories([1,2,3),重命名=真正的,命令=真正的)0 11 22 - 23個34個35個3dtype:類別int64類別(3):(1 < 2 < 3)