pandas.IntervalIndex.from_arrays
-
classmethod IntervalIndex.from_arrays(left, right, closed='right', name=None, copy=False, dtype=None)
[source] -
Construct from two arrays defining the left and right bounds.
Parameters: left : array-like (1-dimensional)
Left bounds for each interval.
right : array-like (1-dimensional)
Right bounds for each interval.
closed : {‘left’, ‘right’, ‘both’, ‘neither’}, default ‘right’
Whether the intervals are closed on the left-side, right-side, both or neither.
name : object, optional
Name to be stored in the index.
copy : boolean, default False
Copy the data.
dtype : dtype, optional
If None, dtype will be inferred.
New in version 0.23.0.
Returns: -
index : IntervalIndex
Raises: ValueError
When a value is missing in only one of
left
orright
. When a value inleft
is greater than the corresponding value inright
.See also
-
interval_range
- Function to create a fixed frequency IntervalIndex.
-
IntervalIndex.from_breaks
- Construct an IntervalIndex from an array of splits.
-
IntervalIndex.from_tuples
- Construct an IntervalIndex from a list/array of tuples.
Notes
Each element of
left
must be less than or equal to theright
element at the same position. If an element is missing, it must be missing in bothleft
andright
. A TypeError is raised when using an unsupported type forleft
orright
. At the moment, ‘category’, ‘object’, and ‘string’ subtypes are not supported.Examples
>>> pd.IntervalIndex.from_arrays([0, 1, 2], [1, 2, 3]) IntervalIndex([(0, 1], (1, 2], (2, 3]] closed='right', dtype='interval[int64]')
If you want to segment different groups of people based on ages, you can apply the method as follows:
>>> ages = pd.IntervalIndex.from_arrays([0, 2, 13], ... [2, 13, 19], closed='left') >>> ages IntervalIndex([[0, 2), [2, 13), [13, 19)] closed='left', dtype='interval[int64]') >>> s = pd.Series(['baby', 'kid', 'teen'], ages) >>> s [0, 2) baby [2, 13) kid [13, 19) teen dtype: object
Values may be missing, but they must be missing in both arrays.
>>> pd.IntervalIndex.from_arrays([0, np.nan, 13], ... [2, np.nan, 19]) IntervalIndex([(0.0, 2.0], nan, (13.0, 19.0]] closed='right', dtype='interval[float64]')
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.IntervalIndex.from_arrays.html