Skip to main content
`Ctrl`+`K`

# pandas.Series.cat.categories

Series.cat.categories

  The categories of this categorical.

  Setting assigns new values to each category (effectively a rename of each individual category).

  The assigned value has to be a list-like object. All items must be unique and the number of items in the new categories must be the same as the number of items in the old categories.

  Raises:
    ValueError

      If the new categories do not validate as categories or if the number of new categories is unequal the number of old categories

  See also

  `rename_categories`

    Rename categories.

  `reorder_categories`

    Reorder categories.

  `add_categories`

    Add new categories.

  `remove_categories`

    Remove the specified categories.

  `remove_unused_categories`

    Remove categories which are not used.

  `set_categories`

    Set the categories to the specified ones.

  Examples

  For `pandas.Series`:

      >>> ser = pd.Series(["a", "b", "c", "a"], dtype="category")
      >>> ser.cat.categories
      Index(['a', 'b', 'c'], dtype='str')

      >>> raw_cat = pd.Categorical([None, "b", "c", None], categories=["b", "c", "d"])
      >>> ser = pd.Series(raw_cat)
      >>> ser.cat.categories
      Index(['b', 'c', 'd'], dtype='str')

  For `pandas.Categorical`:

      >>> cat = pd.Categorical(["a", "b"], ordered=True)
      >>> cat.categories
      Index(['a', 'b'], dtype='str')

  For `pandas.CategoricalIndex`:

      >>> ci = pd.CategoricalIndex(["a", "c", "b", "a", "c", "b"])
      >>> ci.categories
      Index(['a', 'b', 'c'], dtype='str')

      >>> ci = pd.CategoricalIndex(["a", "c"], categories=["c", "b", "a"])
      >>> ci.categories
      Index(['c', 'b', 'a'], dtype='str')