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

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


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

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

import pandas as pd

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

สร้างวัตถุช่วงเวลาสองรายการ ช่วงปิดจากทั้งสองด้าน กำหนดช่วงเวลาโดยใช้พารามิเตอร์ "ปิด" ที่มีค่า "ทั้งคู่"

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

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

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
# Interval closed from the both sides
# Interval set using the "closed" parameter with value "both"
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='both')

# 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?
True