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

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


ในการตรวจสอบ Intervals ที่มีเฉพาะจุดปลายเปิดที่ทับซ้อนกันหรือไม่ ให้ใช้ overlaps() วิธีการ

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

import pandas as pd

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

intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (20, 35)])

แสดง IntervalArray -

print("IntervalArray...\n",intervals)

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

print("\nDoes interval that that only have an open endpoint overlap or not...\n",intervals.overlaps(pd.Interval(20,25, closed='right')))

ตัวอย่าง

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

import pandas as pd

# Two intervals overlap if they share a common point, including closed endpoints
# Create an IntervalArray
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (20, 35)])

# Display the IntervalArray
print("IntervalArray...\n",intervals)

# Display the interval length
print("\nInterval length...\n",intervals.length)

# Check Intervals that only have an open endpoint in common overlap or not
# We have set closed on the right-side with the "right" value of the "closed" parameter
print("\nDoes interval that that only have an open endpoint overlap or not...\n",intervals.overlaps(pd.Interval(20,25, closed='right')))

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

IntervalArray...
<IntervalArray>
[(10, 20], (20, 35]]
Length: 2, dtype: interval[int64, right]

Interval length...
Int64Index([10, 15], dtype='int64')

Does interval that that only have an open endpoint overlap or not...
[False True]