# pandas.arrays.IntervalArray

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

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

  New in version 0.24.0.

  Parameters
    data array-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.

    dtype dtype or None, default None

      If None, dtype will be inferred.

    copy bool, default False

      Copy the input data.

    verify_integrity bool, 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, dtype: interval[int64, right]

  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`(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 IntervalArray identical to the current one, but closed on the specified side.
  `to_tuples`([na_tuple]) | Return an ndarray of tuples of the form (left, right).