pandas.interval_range#
- pandas.interval_range(start=None, end=None, periods=None, freq=None, name=None, closed='right')[源代码]#
返回固定频率的 IntervalIndex。
- Parameters:
- startnumeric 或 datetime-like, default None
生成区间的左边界。
- endnumeric 或 datetime-like, default None
生成区间的右边界。
- periodsint,默认 None
要生成的周期数。
- freqnumeric, str, Timedelta, datetime.timedelta, 或 DateOffset, default None
每个区间的长度。必须与 start 和 end 的类型一致,例如,numeric 为 2,datetime-like 为 ‘5H’。默认值为 numeric 为 1,datetime-like 为 ‘D’。
- namestr,默认 None
生成的 IntervalIndex 的名称。
- closed{‘left’, ‘right’, ‘both’, ‘neither’},默认为 ‘right’
区间在左侧、右侧、两侧或两侧是否闭合。
- Returns:
- IntervalIndex
参见
IntervalIndex一个 IntervalIndex,其中的所有区间都在同一侧闭合。
Notes
在
start、end、periods和freq四个参数中,必须指定三个。如果省略freq,则生成的IntervalIndex将在start和end之间(包含)具有呈线性间隔的periods个元素。有关日期时间类频率字符串的更多信息,请参阅 this link 。
Examples
支持 numeric 的
start和end。>>> pd.interval_range(start=0, end=5) IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]], dtype='interval[int64, right]')
此外,还支持 datetime-like 输入。
>>> pd.interval_range(start=pd.Timestamp('2017-01-01'), ... end=pd.Timestamp('2017-01-04')) IntervalIndex([(2017-01-01 00:00:00, 2017-01-02 00:00:00], (2017-01-02 00:00:00, 2017-01-03 00:00:00], (2017-01-03 00:00:00, 2017-01-04 00:00:00]], dtype='interval[datetime64[ns], right]')
freq参数指定IntervalIndex中各个区间左右端点之间的频率。对于 numeric 的start和end,频率也必须是 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]], dtype='interval[float64, right]')
同样,对于 datetime-like 的
start和end,频率必须可转换为 DateOffset。>>> pd.interval_range(start=pd.Timestamp('2017-01-01'), ... periods=3, freq='MS') IntervalIndex([(2017-01-01 00:00:00, 2017-02-01 00:00:00], (2017-02-01 00:00:00, 2017-03-01 00:00:00], (2017-03-01 00:00:00, 2017-04-01 00:00:00]], dtype='interval[datetime64[ns], right]')
指定
start、end和periods;频率会自动生成(线性间隔)。>>> 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]], dtype='interval[float64, right]')
closed参数指定IntervalIndex中各个区间端点的闭合情况。>>> pd.interval_range(end=5, periods=4, closed='both') IntervalIndex([[1, 2], [2, 3], [3, 4], [4, 5]], dtype='interval[int64, both]')