pandas.Interval#
- class pandas.Interval#
实现间隔的不可变对象,一个类似有界切片的间隔。
属性
区间的左边界。
区间的右边界。
描述区间包含侧的字符串。
参见
IntervalIndex
所有封闭在同一侧的间隔对象的索引。
cut
将连续数据转换为离散的区间(分类或区间对象)。
qcut
根据分位数将连续数据转换为箱(区间对象的分类)。
周期
表示一段时间。
备注
参数 left 和 right 必须是同一类型,你必须能够比较它们并且它们必须满足
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')
属性
描述区间包含侧的字符串。
检查区间是否在左侧闭合。
检查区间是否在右侧闭合。
指示一个区间是否为空,即它不包含任何点。
区间的左边界。
返回 Interval 的长度。
返回区间的中间点。
检查区间是否在左侧开放。
检查区间是否在右侧开放。
区间的右边界。
方法
重叠
(其他)检查两个 Interval 对象是否重叠。