การตรวจสอบการซ้อนทับของ Interval ที่มีปลายทางเปิด
ใช้เมธอด overlaps() ตรวจสอบว่า Interval สองชุดซ้อนทับกันหรือไม่ (รวมปลายทางที่ปิด แต่ไม่รวมปลายทางที่เปิด)
ขั้นตอน
- นำเข้า pandas
- สร้าง Interval1: closed='both' (ปิดทั้งสองข้าง)
- สร้าง Interval2: closed='neither' (เปิดทั้งสองข้าง)
- ใช้
interval1.overlaps(interval2)
ตัวอย่างโค้ด
import pandas as pd
# Interval1: [10, 30] ปิดทั้งสองข้าง
# Interval2: (30, 50) เปิดทั้งสองข้าง
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')
# แสดง intervals
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# แสดงความยาว
print("\nInterval1 object length = ", interval1.length)
print("\nInterval2 object length = ", interval2.length)
# ตรวจสอบการซ้อนทับ
print("\nDo both the interval objects overlap?\n", interval1.overlaps(interval2))
ผลลัพธ์
Interval1... [10, 30] Interval2... (30, 50) Interval1 object length = 20 Interval2 object length = 20 Do both the interval objects overlap? False
คำอธิบาย
Interval1 จบที่ 30 (รวม 30) Interval2 เริ่มที่ 30 (ไม่รวม 30) จึงไม่มีจุดร่วมกัน → ไม่ซ้อนทับ
หาก Interval2 เป็น closed='left' หรือ 'both' จะซ้อนทับที่จุด 30