บทนำ
ใช้ IntervalArray.overlaps() ตรวจสอบการทับซ้อนเมื่อช่วงมีปลายทางปิด (closed endpoint) ร่วมกัน
ขั้นตอน
1. นำเข้าไลบรารีและสร้าง IntervalArray
import pandas as pd
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
ค่าเริ่มต้น: ปิดขวา → (10, 20], (15, 35]
2. ตรวจสอบกับช่วง (15, 28] ปิดซ้าย
print("\nDoes interval that share closed endpoints overlap or not...\n",
intervals.overlaps(pd.Interval(15, 28, closed='left')))
ตัวอย่างโค้ดเต็ม
import pandas as pd
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
print("IntervalArray...\n", intervals)
print("\nInterval length...\n", intervals.length)
print("\nDoes interval that share closed endpoints overlap or not...\n",
intervals.overlaps(pd.Interval(15, 28, closed='left')))
ผลลัพธ์
IntervalArray...
[(10, 20], (15, 35]]
Length: 2, dtype: interval[int64, right]
Interval length...
Int64Index([10, 20], dtype='int64')
Does interval that share closed endpoints overlap or not...
[True True]
คำอธิบาย
- ช่วงที่ 1:
(10, 20]รวม 15-20 - ช่วงที่ 2:
(15, 35]รวม 15-35 - ช่วงตรวจสอบ:
[15, 28)ปิดซ้าย รวม 15 - ทั้งสองช่วงทับซ้อนที่ 15 (ปลายทางปิดร่วมกัน) →
[True, True] - ปลายทางปิด (closed endpoint) ถือว่าทับซ้อนกัน