pandas.interval_range #

熊猫。Interval_range ( start = None , end = None , period = None , freq = None , name = None , close = 'right' ) [来源] #

返回固定频率 IntervalIndex。

参数
开始数字或类似日期时间,默认无

生成区间的左边界。

结束数字或类似日期时间,默认无

生成区间的右界。

period int,默认无

要生成的周期数。

freq numeric、str、Timedelta、datetime.timedelta 或 DateOffset,默认 None

每个间隔的长度。必须与开始和结束的类型一致,例如 2 表示数字,或“5H”表示类似日期时间。对于数字,默认值为 1;对于类似日期时间,默认值为“D”。

名称str,默认无

生成的 IntervalIndex 的名称。

关闭{'left', 'right', 'both', 'neither'}, 默认 'right'

间隔是否在左侧、右侧、两者都闭合或都不闭合。

返回
区间索引

也可以看看

IntervalIndex

全部在同一侧闭合的区间索引。

笔记

start在、endperiods和四个参数中freq,必须指定三个。如果freq省略,则结果 将在和之间(包含 和 )IntervalIndex具有periods线性间隔的元素 。startend

要了解有关类似日期时间的频率字符串的更多信息,请参阅此链接

例子

支持数字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。对于数字startend,频率也必须是数字。

>>> 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]')

同样,对于类似日期时间的startend,频率必须可转换为 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]')

指定startendperiods;频率自动生成(线性间隔)。

>>> 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]')