@@ -1598,19 +1598,19 @@ def sort_values(self, inplace=False, ascending=True, na_position="last"):
15981598
15991599 >>> c = pd.Categorical([np.nan, 2, 2, np.nan, 5])
16001600 >>> c
1601- [NaN, 2.0 , 2.0 , NaN, 5.0 ]
1601+ [NaN, 2, 2, NaN, 5]
16021602 Categories (2, int64): [2, 5]
16031603 >>> c.sort_values()
1604- [2.0 , 2.0 , 5.0 , NaN, NaN]
1604+ [2, 2, 5, NaN, NaN]
16051605 Categories (2, int64): [2, 5]
16061606 >>> c.sort_values(ascending=False)
1607- [5.0 , 2.0 , 2.0 , NaN, NaN]
1607+ [5, 2, 2, NaN, NaN]
16081608 Categories (2, int64): [2, 5]
16091609 >>> c.sort_values(na_position='first')
1610- [NaN, NaN, 2.0 , 2.0 , 5.0 ]
1610+ [NaN, NaN, 2, 2, 5]
16111611 Categories (2, int64): [2, 5]
16121612 >>> c.sort_values(ascending=False, na_position='first')
1613- [NaN, NaN, 5.0 , 2.0 , 2.0 ]
1613+ [NaN, NaN, 5, 2, 2]
16141614 Categories (2, int64): [2, 5]
16151615 """
16161616 inplace = validate_bool_kwarg (inplace , "inplace" )
@@ -1835,7 +1835,7 @@ def take(self, indexer, allow_fill: bool = False, fill_value=None):
18351835
18361836 >>> cat.take([0, -1, -1], allow_fill=True, fill_value='a')
18371837 [a, a, a]
1838- Categories (3 , object): [a, b]
1838+ Categories (2 , object): [a, b]
18391839
18401840 Specifying a fill value that's not in ``self.categories``
18411841 will raise a ``TypeError``.
@@ -2231,33 +2231,32 @@ def unique(self):
22312231 -------
22322232 unique values : ``Categorical``
22332233
2234+ See Also
2235+ --------
2236+ pandas.unique
2237+ CategoricalIndex.unique
2238+ Series.unique
2239+
22342240 Examples
22352241 --------
22362242 An unordered Categorical will return categories in the
22372243 order of appearance.
22382244
2239- >>> pd.Categorical(list(' baabc') )
2245+ >>> pd.Categorical(list(" baabc")).unique( )
22402246 [b, a, c]
22412247 Categories (3, object): [b, a, c]
22422248
2243- >>> pd.Categorical(list(' baabc' ), categories=list(' abc') )
2249+ >>> pd.Categorical(list(" baabc" ), categories=list(" abc")).unique( )
22442250 [b, a, c]
22452251 Categories (3, object): [b, a, c]
22462252
22472253 An ordered Categorical preserves the category ordering.
22482254
2249- >>> pd.Categorical(list('baabc'),
2250- ... categories=list(' abc'),
2251- ... ordered=True )
2255+ >>> pd.Categorical(
2256+ ... list("baabc"), categories=list(" abc"), ordered=True
2257+ ... ).unique( )
22522258 [b, a, c]
22532259 Categories (3, object): [a < b < c]
2254-
2255- See Also
2256- --------
2257- unique
2258- CategoricalIndex.unique
2259- Series.unique
2260-
22612260 """
22622261 # unlike np.unique, unique1d does not sort
22632262 unique_codes = unique1d (self .codes )
@@ -2438,7 +2437,7 @@ def replace(self, to_replace, value, inplace: bool = False):
24382437 --------
24392438 >>> s = pd.Categorical([1, 2, 1, 3])
24402439 >>> s.replace(1, 3)
2441- [3, 3, 2 , 3]
2440+ [3, 2, 3 , 3]
24422441 Categories (2, int64): [2, 3]
24432442 """
24442443 inplace = validate_bool_kwarg (inplace , "inplace" )
@@ -2506,16 +2505,100 @@ class CategoricalAccessor(PandasDelegate, PandasObject, NoNewAttributesMixin):
25062505
25072506 Examples
25082507 --------
2508+ >>> s = pd.Series(list("abbccc")).astype("category")
2509+ >>> s
2510+ 0 a
2511+ 1 b
2512+ 2 b
2513+ 3 c
2514+ 4 c
2515+ 5 c
2516+ dtype: category
2517+ Categories (3, object): [a, b, c]
2518+
25092519 >>> s.cat.categories
2510- >>> s.cat.categories = list('abc')
2511- >>> s.cat.rename_categories(list('cab'))
2512- >>> s.cat.reorder_categories(list('cab'))
2513- >>> s.cat.add_categories(['d','e'])
2514- >>> s.cat.remove_categories(['d'])
2515- >>> s.cat.remove_unused_categories()
2516- >>> s.cat.set_categories(list('abcde'))
2520+ Index(['a', 'b', 'c'], dtype='object')
2521+
2522+ >>> s.cat.rename_categories(list("cba"))
2523+ 0 c
2524+ 1 b
2525+ 2 b
2526+ 3 a
2527+ 4 a
2528+ 5 a
2529+ dtype: category
2530+ Categories (3, object): [c, b, a]
2531+
2532+ >>> s.cat.reorder_categories(list("cba"))
2533+ 0 a
2534+ 1 b
2535+ 2 b
2536+ 3 c
2537+ 4 c
2538+ 5 c
2539+ dtype: category
2540+ Categories (3, object): [c, b, a]
2541+
2542+ >>> s.cat.add_categories(["d", "e"])
2543+ 0 a
2544+ 1 b
2545+ 2 b
2546+ 3 c
2547+ 4 c
2548+ 5 c
2549+ dtype: category
2550+ Categories (5, object): [a, b, c, d, e]
2551+
2552+ >>> s.cat.remove_categories(["a", "c"])
2553+ 0 NaN
2554+ 1 b
2555+ 2 b
2556+ 3 NaN
2557+ 4 NaN
2558+ 5 NaN
2559+ dtype: category
2560+ Categories (1, object): [b]
2561+
2562+ >>> s1 = s.cat.add_categories(["d", "e"])
2563+ >>> s1.cat.remove_unused_categories()
2564+ 0 a
2565+ 1 b
2566+ 2 b
2567+ 3 c
2568+ 4 c
2569+ 5 c
2570+ dtype: category
2571+ Categories (3, object): [a, b, c]
2572+
2573+ >>> s.cat.set_categories(list("abcde"))
2574+ 0 a
2575+ 1 b
2576+ 2 b
2577+ 3 c
2578+ 4 c
2579+ 5 c
2580+ dtype: category
2581+ Categories (5, object): [a, b, c, d, e]
2582+
25172583 >>> s.cat.as_ordered()
2584+ 0 a
2585+ 1 b
2586+ 2 b
2587+ 3 c
2588+ 4 c
2589+ 5 c
2590+ dtype: category
2591+ Categories (3, object): [a < b < c]
2592+
25182593 >>> s.cat.as_unordered()
2594+ 0 a
2595+ 1 b
2596+ 2 b
2597+ 3 c
2598+ 4 c
2599+ 5 c
2600+ dtype: category
2601+ Categories (3, object): [a, b, c]
25192602 """
25202603
25212604 def __init__ (self , data ):
@@ -2603,7 +2686,7 @@ def _recode_for_categories(codes: np.ndarray, old_categories, new_categories):
26032686 >>> new_cat = pd.Index(['a', 'b'])
26042687 >>> codes = np.array([0, 1, 1, 2])
26052688 >>> _recode_for_categories(codes, old_cat, new_cat)
2606- array([ 1, 0, 0, -1])
2689+ array([ 1, 0, 0, -1], dtype=int8 )
26072690 """
26082691 if len (old_categories ) == 0 :
26092692 # All null anyway, so just retain the nulls
0 commit comments