pandas.interval_range#
- pandas.interval_range(start=None, end=None, periods=None, freq=None, name=None, closed='right')[源代码][源代码]#
返回一个固定频率的 IntervalIndex。
- 参数:
- 开始数值或类似日期时间,默认无
生成区间的左边界。
- 结束数值或类似日期时间,默认无
生成区间的右边界。
- periodsint, 默认 None
要生成的周期数。
- freqnumeric, str, Timedelta, datetime.timedelta, 或 DateOffset, 默认 None
每个区间长度。必须与开始和结束的类型一致,例如数值类型为2,或类似日期时间的’5H’。默认数值类型为1,类似日期时间的为’D’。
- 名称str, 默认为 None
生成的 IntervalIndex 的名称。
- 关闭{‘left’, ‘right’, ‘both’, ‘neither’}, 默认 ‘right’
区间是否在左侧、右侧、两侧或都不闭合。
- 返回:
- IntervalIndex
具有固定频率的对象。
参见
IntervalIndex
所有在同一侧闭合的区间的索引。
备注
在四个参数
start
、end
、periods
和freq
中,必须恰好指定三个。如果省略freq
,则生成的IntervalIndex
将在start
和end
之间包含periods
个线性间隔的元素。要了解更多关于类似日期时间频率字符串的信息,请参见 此链接。
示例
支持数字
start
和end
。>>> pd.interval_range(start=0, end=5) IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]], dtype='interval[int64, right]')
此外,还支持类似日期时间格式的输入。
>>> 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
中各个区间左右端点之间的频率。对于数值型的start
和end
,频率也必须是数值型。>>> 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]')
同样地,对于类似日期时间的
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]')