pandas.arrays.IntervalArray

class pandas.arrays.IntervalArray(data, closed=None, dtype=None, copy=False, verify_integrity=True)[source]

Pandas array for interval data that are closed on the same side.

New in version 0.24.0.

Parameters
dataarray-like (1-dimensional)

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

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.

New in version 0.23.0.

copybool, default False

Copy the input data.

verify_integritybool, default True

Verify that the IntervalArray is valid.

See also

Index

The base pandas Index type.

Interval

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

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 IntervalArray can be constructed directly from an array-like of Interval objects:

>>> pd.arrays.IntervalArray([pd.Interval(0, 1), pd.Interval(1, 5)])
<IntervalArray>
[(0, 1], (1, 5]]
Length: 2, closed: right, dtype: interval[int64]

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

Attributes

left

Return the left endpoints of each Interval in the IntervalArray as an Index.

right

Return the right endpoints of each Interval in the IntervalArray 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 IntervalArray as an Index.

length

Return an Index with entries denoting the length of each Interval in the IntervalArray.

is_empty

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

is_non_overlapping_monotonic

Return True if the IntervalArray is non-overlapping (no Intervals share points) and is either monotonic increasing or monotonic decreasing, else False.

Methods

from_arrays(left, right[, closed, copy, dtype])

Construct from two arrays defining the left and right bounds.

from_tuples(data[, closed, copy, dtype])

Construct an IntervalArray from an array-like of tuples.

from_breaks(breaks[, closed, copy, dtype])

Construct an IntervalArray from an array of splits.

contains(self, other)

Check elementwise if the Intervals contain the value.

overlaps(self, other)

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

set_closed(self, closed)

Return an IntervalArray identical to the current one, but closed on the specified side.

to_tuples(self[, na_tuple])

Return an ndarray of tuples of the form (left, right).