เพื่อตรวจสอบว่าสองออบเจกต์ Interval (ช่วง) ทับซ้อนกันหรือไม่ ให้ใช้เมธอด overlaps()
หลักการ
ช่วงสองช่วงทับซ้อนกันหากแบ่งปันจุดร่วม รวมถึงปลายปิด ช่วงที่มีเพียงปลายเปิดร่วมกันไม่ถือว่าทับซ้อน
ขั้นตอนตัวอย่าง
import pandas as pd
# สร้างสอง Interval objects (ค่าเริ่มต้น closed='right' คือ เปิดซ้าย ปิดขวา)
interval1 = pd.Interval(10, 30)
interval2 = pd.Interval(25, 35)
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)
interval2 = pd.Interval(25, 35)
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...
(25, 35]
ความยาว Interval 1 = 20
ความยาว Interval 2 = 10
ทั้งสอง Interval ทับซ้อนกันหรือไม่?
True
คำอธิบาย: ช่วง (10, 30] และ (25, 35] แบ่งปันช่วง (25, 30] จึงทับซ้อนกัน