เมื่อช่วงใน IntervalIndex ถูกสร้างด้วย closed='both' ขอบเขตจะปิดทั้งสองข้าง ทำให้ช่วงที่ต่อเนื่องกันมีขอบร่วมกัน (เช่น [0, 1] และ [1, 2] ร่วมที่ 1) ซึ่งถือว่าทับซ้อนกัน คุณสมบัติ is_overlapping จะคืนค่า True
ตัวอย่างโค้ด
import pandas as pd
# สร้างช่วงต่อเนื่อง ปิดทั้งสองข้าง
interval = pd.interval_range(0, 8, closed='both')
print("IntervalIndex:\n", interval)
print("\nความยาวช่วง:", interval.length)
# ตรวจสอบการทับซ้อน
print("\nช่วงทับซ้อนกันไหม (ขอบปิดร่วมกัน)?\n", interval.is_overlapping)
ผลลัพธ์
IntervalIndex: IntervalIndex([[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8]], dtype='interval[int64, both]') ความยาวช่วง: Int64Index([1, 1, 1, 1, 1, 1, 1, 1], dtype='int64') ช่วงทับซ้อนกันไหม (ขอบปิดร่วมกัน)? True
ผลลัพธ์ True เพราะช่วง [0, 1] และ [1, 2] ทั้งคู่รวมค่า 1 จึงมีการทับซ้อนที่ขอบเขต