เพื่อตรวจสอบว่าสองออบเจกต์ Interval (ช่วง) ที่มีปลายปิด (closed endpoints) ร่วมกันทับซ้อน (overlap) หรือไม่ ให้ใช้เมธอด overlaps()
หลักการ
ช่วงสองช่วงทับซ้อนกันหากแบ่งปันจุดร่วม รวมถึงปลายปิด ช่วงที่มีเพียงปลายเปิดร่วมกันไม่ถือว่าทับซ้อน
ขั้นตอนตัวอย่าง
import pandas as pd
# สร้างสอง Interval objects ปิดทั้งสองข้าง (closed='both')
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='both')
print("Interval 1...\n", interval1)
print("Interval 2...\n", interval2)
# ตรวจสอบการทับซ้อน
print("\nทั้งสอง Interval ทับซ้อนกันหรือไม่?\n", interval1.overlaps(interval2))
โค้ดเต็มและผลลัพธ์
import pandas as pd
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='both')
print("Interval 1...\n", interval1)
print("Interval 2...\n", interval2)
print("\nความยาว Interval 1 =", interval1.length)
print("\nความยาว Interval 2 =", interval2.length)
print("\nทั้งสอง Interval ทับซ้อนกันหรือไม่?\n", interval1.overlaps(interval2))
Interval 1...
[10, 30]
Interval 2...
[30, 50]
ความยาว Interval 1 = 20
ความยาว Interval 2 = 20
ทั้งสอง Interval ทับซ้อนกันหรือไม่?
True
คำอธิบาย: ทั้งสองช่วงมีจุด 30 ร่วมกัน (ปลายปิด) จึงทับซ้อนกัน