pandas.Series.cat#

Series.cat()[source]#

Accessor object for categorical properties of the Series values.

This accessor provides methods and properties to interact with the underlying categorical data, such as accessing categories, renaming them, reordering, or adding and removing categories.

Parameters:
dataSeries or CategoricalIndex

The object to which the categorical accessor is attached.

See also

Series.dt

Accessor object for datetimelike properties of the Series values.

Series.sparse

Accessor for sparse matrix data types.

Examples

>>> s = pd.Series(list("abbccc")).astype("category")
>>> s
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (3, str): ['a', 'b', 'c']
>>> s.cat.categories
Index(['a', 'b', 'c'], dtype='str')
>>> s.cat.rename_categories(list("cba"))
0    c
1    b
2    b
3    a
4    a
5    a
dtype: category
Categories (3, str): ['c', 'b', 'a']
>>> s.cat.reorder_categories(list("cba"))
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (3, str): ['c', 'b', 'a']
>>> s.cat.add_categories(["d", "e"])
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (5, str): ['a', 'b', 'c', 'd', 'e']
>>> s.cat.remove_categories(["a", "c"])
0    NaN
1      b
2      b
3    NaN
4    NaN
5    NaN
dtype: category
Categories (1, str): ['b']
>>> s1 = s.cat.add_categories(["d", "e"])
>>> s1.cat.remove_unused_categories()
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (3, str): ['a', 'b', 'c']
>>> s.cat.set_categories(list("abcde"))
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (5, str): ['a', 'b', 'c', 'd', 'e']
>>> s.cat.as_ordered()
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (3, str): ['a' < 'b' < 'c']
>>> s.cat.as_unordered()
0    a
1    b
2    b
3    c
4    c
5    c
dtype: category
Categories (3, str): ['a', 'b', 'c']