pandas.Interval#

class pandas.Interval#

实现间隔的不可变对象,一个类似有界切片的间隔。

属性

区间的左边界。

区间的右边界。

闭合

描述区间包含侧的字符串。

参见

IntervalIndex

所有封闭在同一侧的间隔对象的索引。

cut

将连续数据转换为离散的区间(分类或区间对象)。

qcut

根据分位数将连续数据转换为箱(区间对象的分类)。

周期

表示一段时间。

备注

参数 leftright 必须是同一类型,你必须能够比较它们并且它们必须满足 left <= right

闭区间(在数学中用方括号表示)包含其端点,即闭区间 [0, 5] 的特征是条件 0 <= x <= 5。这就是 closed='both' 的含义。开区间(在数学中用圆括号表示)不包含其端点,即开区间 (0, 5) 的特征是条件 0 < x < 5。这就是 closed='neither' 的含义。区间也可以是半开或半闭的,即 [0, 5)0 <= x < 5 描述(closed='left'),而 (0, 5]0 < x <= 5 描述(closed='right')。

示例

可以构建不同类型的区间,例如数值区间:

>>> iv = pd.Interval(left=0, right=5)
>>> iv
Interval(0, 5, closed='right')

你可以检查一个元素是否属于它,或者它是否包含另一个区间:

>>> 2.5 in iv
True
>>> pd.Interval(left=2, right=5, closed='both') in iv
True

你可以测试边界(closed='right',所以 0 < x <= 5):

>>> 0 in iv
False
>>> 5 in iv
True
>>> 0.0001 in iv
True

计算其长度

>>> iv.length
5

你可以在一个区间上使用 +* 进行操作,该操作会应用于其每个边界,因此结果取决于边界元素的类型。

>>> shifted_iv = iv + 3
>>> shifted_iv
Interval(3, 8, closed='right')
>>> extended_iv = iv * 10.0
>>> extended_iv
Interval(0.0, 50.0, closed='right')

要创建一个时间间隔,你可以使用时间戳作为边界

>>> year_2017 = pd.Interval(pd.Timestamp('2017-01-01 00:00:00'),
...                         pd.Timestamp('2018-01-01 00:00:00'),
...                         closed='left')
>>> pd.Timestamp('2017-01-01 00:00') in year_2017
True
>>> year_2017.length
Timedelta('365 days 00:00:00')

属性

闭合

描述区间包含侧的字符串。

closed_left

检查区间是否在左侧闭合。

closed_right

检查区间是否在右侧闭合。

is_empty

指示一个区间是否为空,即它不包含任何点。

区间的左边界。

长度

返回 Interval 的长度。

中点

返回区间的中间点。

open_left

检查区间是否在左侧开放。

open_right

检查区间是否在右侧开放。

区间的右边界。

方法

重叠(其他)

检查两个 Interval 对象是否重叠。