ในการตรวจสอบแบบองค์ประกอบ (element-wise) ว่าช่วง (Interval) ทับซ้อนกับค่าใน IntervalArray หรือไม่ ให้ใช้เมธอด array.overlaps()
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import pandas as pd
2. สร้าง IntervalArray จากจุดแบ่ง
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
3. แสดงช่วง
print("Our IntervalArray...\n", array)
4. ตรวจสอบการทับซ้อน
print("\nDoes the Interval overlaps the values in the IntervalArray", array.overlaps(pd.Interval(2.5, 3.2)))
ตัวอย่างโค้ดสมบูรณ์
import pandas as pd
# สองช่วงทับซ้อนหากมีจุดร่วม รวมถึงปลายที่ปิด
# ช่วงที่มีเพียงปลายที่เปิดร่วมกัน ไม่ถือว่าทับซ้อน
# สร้าง IntervalArray จากจุดแบ่ง
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
# แสดง IntervalArray
print("Our IntervalArray...\n", array)
# ตรวจสอบการทับซ้อนกับช่วง (2.5, 3.2)
print("\nDoes the Interval overlaps the values in the IntervalArray", array.overlaps(pd.Interval(2.5, 3.2)))
ผลลัพธ์
Our IntervalArray...
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]
Does the Interval overlaps the values in the IntervalArray [False False True True False]
คำอธิบาย
ช่วง (2.5, 3.2) ทับซ้อนกับช่วงที่ 3 (2, 3] และช่วงที่ 4 (3, 4] ของ IntervalArray ดังนั้นตำแหน่งที่ 2 และ 3 (นับจาก 0) เป็น True