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

Python Pandas - ตรวจสอบว่าวัตถุช่วงเวลาสองรายการที่แชร์จุดปลายเปิดทับซ้อนกัน


ในการตรวจสอบว่าวัตถุช่วงเวลาสองรายการที่แชร์จุดปลายเปิดคาบเกี่ยวกันหรือไม่ ให้ใช้ คาบเกี่ยว () วิธีการ

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import pandas as pd

ช่วงเวลาสองช่วงคาบเกี่ยวกันหากมีจุดร่วม ซึ่งรวมถึงปลายทางที่ปิด ช่วงเวลาที่มีเฉพาะปลายทางเปิดเหมือนกันจะไม่ทับซ้อนกัน

สร้างวัตถุช่วงเวลาสองรายการ Interval1 ถูกปิดจากทั้งสองด้าน Interval2 เปิดจากทั้งสองด้าน -

interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')

แสดงช่วงเวลา -

print("Interval1...\n",interval1)
print("Interval2...\n",interval2)

ตรวจสอบว่าวัตถุช่วงเวลาทั้งสองทับซ้อนกันหรือไม่ -

print("\nDo both the interval objects overlap?\n",interval1.overlaps(interval2))

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

import pandas as pd

# Two intervals overlap if they share a common point, including closed endpoints
# Intervals that only have an open endpoint in common do not overlap
# Create two Interval objects
# Interval1 is closed from both sides
# Interval2 is open from both sides
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')

# display the intervals
print("Interval1...\n",interval1)
print("Interval2...\n",interval2)

# display the length of both Interval1 and Interval2 objects
print("\nInterval1 object length = ",interval1.length)
print("\nInterval2 object length = ",interval2.length)

# check whether both the interval objects overlap
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