pyspark.pandas.CategoricalIndex.set_categories

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

將類別設置為指定的new_categories。

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

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

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

參數
new_categories 將注釋

新秩序的類別。

命令 bool,默認的錯誤

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

重命名 bool,默認的錯誤

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

原地 bool,默認的錯誤

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

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

如果new_categories不驗證類別

另請參閱

rename_categories

重命名類別。

reorder_categories

重新排序類別。

add_categories

添加新類別。

remove_categories

刪除指定的類別。

remove_unused_categories

刪除未使用的類別。

例子

> > >idx=psCategoricalIndex(列表(“abbccc”))> > >idxCategoricalIndex ([' a ', ' b ', ' b ', ' c ', ' c ', ' c '],類別= [' a ', ' b ', ' c '],下令= False, dtype =“類別”)
> > >idxset_categories([“b”,“c”])CategoricalIndex ([nan ' b ', ' b ', ' c ', ' c ', ' c '],類別= [' b ', ' c '],下令= False, dtype =“類別”)
> > >idxset_categories([1,2,3),重命名=真正的)CategoricalIndex([1、2、2、3、3、3],類別=(1、2、3),命令= False, dtype =“類別”)
> > >idxset_categories([1,2,3),重命名=真正的,命令=真正的)CategoricalIndex([1、2、2、3、3、3],類別=(1、2、3),命令= True, dtype =“類別”)