Skip to main content
`Ctrl`+`K`

# pandas.IndexSlice

pandas.IndexSlice = <pandas.core.indexing._IndexSlice object>

  Create an object to more easily perform multi-index slicing.

  `IndexSlice` is a convenience object that allows the use of natural slice syntax (`start:stop`) when selecting from a `MultiIndex`, rather than requiring explicit `slice()` calls.

  See also

  `MultiIndex.remove_unused_levels`

    New MultiIndex with no unused levels.

  Notes

  See Defined Levels for further info on slicing a MultiIndex.

  Examples

      >>> midx = pd.MultiIndex.from_product([["A0", "A1"], ["B0", "B1", "B2", "B3"]])
      >>> columns = ["foo", "bar"]
      >>> dfmi = pd.DataFrame(
      ...     np.arange(16).reshape((len(midx), len(columns))),
      ...     index=midx,
      ...     columns=columns,
      ... )

  Using the default slice command:

      >>> dfmi.loc[(slice(None), slice("B0", "B1")), :]
                 foo  bar
          A0 B0    0    1
             B1    2    3
          A1 B0    8    9
             B1   10   11

  Using the IndexSlice class for a more intuitive command:

      >>> idx = pd.IndexSlice
      >>> dfmi.loc[idx[:, "B0":"B1"], :]
                 foo  bar
          A0 B0    0    1
             B1    2    3
          A1 B0    8    9
             B1   10   11