要按元素检查 Interval 是否与 IntervalArray 中的值重叠,请使用overlaps()Pandas 中的方法。
首先,导入所需的库 -
import pandas as pd
如果两个区间共享一个公共点(包括闭合端点),则它们会重叠。只有一个共同开放端点的区间不重叠。创建一个 IntervalArray -
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
显示 IntervalArray -
print("IntervalArray...\n",intervals)
检查元素是否 Interval 与 IntervalArray 中的值重叠 -
print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))
以下是代码 -
import pandas as pd #如果两个区间共享一个公共点(包括闭合端点),则它们会重叠。间隔 # 只有一个共同的开放端点不重叠 # 创建一个间隔数组 intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)]) # 显示间隔数组 print("IntervalArray...\n",intervals) # 显示间隔长度 print("\nInterval length...\n",intervals.length) # 逐元素检查 Interval 是否与 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]