pandas.IntervalIndex#

class pandas.IntervalIndex(data, closed=None, dtype=None, copy=False, name=None, verify_integrity=True)[source]#

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

Parameters:
dataarray-like (1-dimensional)

Array-like (ndarray, DateTimeArray, TimeDeltaArray) 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.

dtypedtype or None, default None

If None, dtype will be inferred.

copybool, default False

Copy the input data.

nameobject, optional

Name to be stored in the index.

verify_integritybool, default True

Verify that the IntervalIndex is valid.

See also

Index

The base pandas Index type.

Interval

A bounded slice-like interval; the elements of an IntervalIndex.

interval_range

Function to create a fixed frequency IntervalIndex.

cut

Bin values into discrete Intervals.

qcut

Bin values into equal-sized Intervals based on rank or sample quantiles.

Notes

See the user guide for more.

Examples

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]],
              dtype='interval[int64, right]')

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.

Attributes

left

Return left bounds of the intervals in the IntervalIndex.

right

Return right bounds of the intervals in the IntervalIndex.

closed

String describing the inclusive side the intervals.

mid

Return the midpoint of each interval in the IntervalIndex as an Index.

length

Calculate the length of each interval in the IntervalIndex.

is_empty

Indicates if an interval is empty, meaning it contains no points.

is_non_overlapping_monotonic

Return a boolean whether the IntervalArray/IntervalIndex is non-overlapping and monotonic.

is_overlapping

Return True if the IntervalIndex has overlapping intervals, else False.

values

Return an array representing the data in the Index.

Methods

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.

contains(other)

Check elementwise if the Intervals contain the value.

overlaps(other)

Check elementwise if an Interval overlaps the values in the IntervalArray.

set_closed(closed)

Return an identical IntervalArray closed on the specified side.

to_tuples([na_tuple])

Return an ndarray (if self is IntervalArray) or Index (if self is IntervalIndex) of tuples of the form (left, right).