Check if the Index holds categorical data.
Deprecated since version 2.0.0: Use isinstance(index.dtype, pd.CategoricalDtype) instead.
True if the Index is categorical.
See also
CategoricalIndexIndex for categorical data.
is_booleanCheck if the Index only consists of booleans (deprecated).
is_integerCheck if the Index only consists of integers (deprecated).
is_floatingCheck if the Index is a floating type (deprecated).
is_numericCheck if the Index only consists of numeric data (deprecated).
is_objectCheck if the Index is of the object dtype. (deprecated).
is_intervalCheck if the Index holds Interval objects (deprecated).
Examples
>>> idx = pd.Index(["Watermelon", "Orange", "Apple",
... "Watermelon"]).astype("category")
>>> idx.is_categorical()
True
>>> idx = pd.Index([1, 3, 5, 7])
>>> idx.is_categorical()
False
>>> s = pd.Series(["Peter", "Victor", "Elisabeth", "Mar"])
>>> s
0 Peter
1 Victor
2 Elisabeth
3 Mar
dtype: object
>>> s.index.is_categorical()
False
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.Index.is_categorical.html