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

Python Pandas - ตรวจสอบว่าสอง Interval Object ที่มีปลายปิดร่วมกันทับซ้อนหรือไม่

เพื่อตรวจสอบว่าสองออบเจกต์ 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 ร่วมกัน (ปลายปิด) จึงทับซ้อนกัน