Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบการทับซ้อนของช่วงที่มีขอบเปิดร่วมกันด้วยคุณสมบัติ is_overlapping

คุณสมบัติ is_overlapping ของ IntervalIndex ใช้ตรวจสอบว่ามีช่วงใดทับซ้อนกันหรือไม่ โดยพิจารณาจากขอบเขตที่เปิด (open endpoints) หากช่วงต่อเนื่องกันและปิดทางซ้าย (closed='left') ขอบขวาจะเปิด จึงไม่ถือว่าทับซ้อน

ตัวอย่างโค้ด

import pandas as pd

# สร้างช่วงต่อเนื่อง ปิดทางซ้าย (ขอบขวาเปิด)
interval = pd.interval_range(0, 8, closed='left')

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, left]')

ความยาวช่วง: Int64Index([1, 1, 1, 1, 1, 1, 1, 1], dtype='int64')

ช่วงทับซ้อนกันไหม (ขอบเปิดร่วมกัน)?
False

ผลลัพธ์เป็น False เพราะช่วงปิดทางซ้าย ([0, 1)) ขอบขวาเปิด ดังนั้นช่วงที่ต่อเนื่องกันไม่มีการทับซ้อน (1 ไม่อยู่ในช่วงแรก แต่เป็นจุดเริ่มของช่วงที่สอง)