pandas.interval_range — pandas 0.24.0rc1 documentation (original) (raw)
pandas.
interval_range
(start=None, end=None, periods=None, freq=None, name=None, closed='right')[source]¶
Return a fixed frequency IntervalIndex
Parameters: | start : numeric or datetime-like, default None Left bound for generating intervals end : numeric or datetime-like, default None Right bound for generating intervals periods : integer, default None Number of periods to generate freq : numeric, string, or DateOffset, default None The length of each interval. Must be consistent with the type of start and end, e.g. 2 for numeric, or ‘5H’ for datetime-like. Default is 1 for numeric and ‘D’ for datetime-like. name : string, default None Name of the resulting IntervalIndex closed : {‘left’, ‘right’, ‘both’, ‘neither’}, default ‘right’ Whether the intervals are closed on the left-side, right-side, both or neither. |
---|---|
Returns: | rng : IntervalIndex |
See also
An Index of intervals that are all closed on the same side.
Notes
Of the four parameters start
, end
, periods
, and freq
, exactly three must be specified. If freq
is omitted, the resultingIntervalIndex
will have periods
linearly spaced elements betweenstart
and end
, inclusively.
To learn more about datetime-like frequency strings, please see this link.
Examples
Numeric start
and end
is supported.
pd.interval_range(start=0, end=5) IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]] closed='right', dtype='interval[int64]')
Additionally, datetime-like input is also supported.
pd.interval_range(start=pd.Timestamp('2017-01-01'), end=pd.Timestamp('2017-01-04')) IntervalIndex([(2017-01-01, 2017-01-02], (2017-01-02, 2017-01-03], (2017-01-03, 2017-01-04]] closed='right', dtype='interval[datetime64[ns]]')
The freq
parameter specifies the frequency between the left and right. endpoints of the individual intervals within the IntervalIndex
. For numeric start
and end
, the frequency must also be numeric.
pd.interval_range(start=0, periods=4, freq=1.5) IntervalIndex([(0.0, 1.5], (1.5, 3.0], (3.0, 4.5], (4.5, 6.0]] closed='right', dtype='interval[float64]')
Similarly, for datetime-like start
and end
, the frequency must be convertible to a DateOffset.
pd.interval_range(start=pd.Timestamp('2017-01-01'), periods=3, freq='MS') IntervalIndex([(2017-01-01, 2017-02-01], (2017-02-01, 2017-03-01], (2017-03-01, 2017-04-01]] closed='right', dtype='interval[datetime64[ns]]')
Specify start
, end
, and periods
; the frequency is generated automatically (linearly spaced).
pd.interval_range(start=0, end=6, periods=4) IntervalIndex([(0.0, 1.5], (1.5, 3.0], (3.0, 4.5], (4.5, 6.0]] closed='right', dtype='interval[float64]')
The closed
parameter specifies which endpoints of the individual intervals within the IntervalIndex
are closed.
pd.interval_range(end=5, periods=4, closed='both') IntervalIndex([[1, 2], [2, 3], [3, 4], [4, 5]] closed='both', dtype='interval[int64]')