class pandas.IntervalIndex[source]

Immutable index of intervals that are closed on the same side.

New in version 0.20.0.


The indexing behaviors are provisional and may change in a future version of pandas.

data : array-like (1-dimensional)

Array-like containing Interval objects from which to build the IntervalIndex.

closed : {‘left’, ‘right’, ‘both’, ‘neither’}, default ‘right’

Whether the intervals are closed on the left-side, right-side, both or neither.

dtype : dtype or None, default None

If None, dtype will be inferred.

New in version 0.23.0.

copy : bool, default False

Copy the input data.

name : object, optional

Name to be stored in the index.

verify_integrity : bool, default True

Verify that the IntervalIndex is valid.

See also

The base pandas Index type.
A bounded slice-like interval; the elements of an IntervalIndex.
Function to create a fixed frequency IntervalIndex.
Bin values into discrete Intervals.
Bin values into equal-sized Intervals based on rank or sample quantiles.


See the user guide for more.


A new IntervalIndex is typically constructed using interval_range():

>>> pd.interval_range(start=0, end=5)
IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]],

It may also be constructed using one of the constructor methods: IntervalIndex.from_arrays(), IntervalIndex.from_breaks(), and IntervalIndex.from_tuples().

See further examples in the doc strings of interval_range and the mentioned constructor methods.


left Return the left endpoints of each Interval in the IntervalIndex as an Index
right Return the right endpoints of each Interval in the IntervalIndex as an Index
closed Whether the intervals are closed on the left-side, right-side, both or neither
mid Return the midpoint of each Interval in the IntervalIndex as an Index
length Return an Index with entries denoting the length of each Interval in the IntervalIndex
values Return the IntervalIndex’s data as an IntervalArray.
is_overlapping Return True if the IntervalIndex has overlapping intervals, else False.


from_arrays(left, right[, closed, name, …]) Construct from two arrays defining the left and right bounds.
from_tuples(data[, closed, name, copy, dtype]) Construct an IntervalIndex from an array-like of tuples
from_breaks(breaks[, closed, name, copy, dtype]) Construct an IntervalIndex from an array of splits.
overlaps(other) Check elementwise if an Interval overlaps the values in the IntervalIndex.
set_closed(closed) Return an IntervalIndex identical to the current one, but closed on the specified side
to_tuples([na_tuple]) Return an Index of tuples of the form (left, right)
contains(key) Return a boolean indicating if the key is IN the index
Scroll To Top