在Python Pandas中检查区间是否逐元素与IntervalArray重叠
要检查区间是否逐元素与IntervalArray中的值重叠,请使用Pandas中的 overlaps() 方法。
首先,导入所需的库 –
import pandas as pd
如果两个区间共享一个公共点(包括闭合端点),则这两个区间重叠。 只有一个公共开放端点的区间不重叠。 创建一个IntervalArray –
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
显示IntervalArray –
print("IntervalArray...\n",intervals)
逐元素检查一个区间是否与IntervalArray中的值重叠 –
print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))
示例
以下是代码 –
import pandas as pd
#如果两个区间共享一个公共点(包括闭合端点),则这两个区间重叠。只有一个公共开放端点的区间不重叠
#创建一个IntervalArray
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
#显示IntervalArray
print("IntervalArray...\n",intervals)
#显示区间长度
print("\nInterval length...\n",intervals.length)
#逐元素检查一个区间是否与IntervalArray中的值重叠
print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))
输出
这将产生以下输出 –
IntervalArray...
<IntervalArray>
[(10, 20], (15, 35]]
Length: 2, dtype: interval[int64, right]
Interval length...
Int64Index([10, 20], dtype='int64')
Does interval overlaps values in the IntervalArray...
[ True True]