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

ตรวจสอบแบบองค์ประกอบว่า Interval ทับซ้อนค่าใน IntervalArray ใน Python Pandas

บทนำ

ใช้ overlaps() เพื่อตรวจสอบแบบ element-wise ว่าช่วง (Interval) ที่กำหนดทับซ้อนกับแต่ละช่วงใน IntervalArray หรือไม่

ขั้นตอน

1. นำเข้าไลบรารีและสร้าง IntervalArray

import pandas as pd
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])

2. ตรวจสอบการทับซ้อนกับช่วง (12, 30)

print("\nDoes interval overlaps values in the IntervalArray...\n",
      intervals.overlaps(pd.Interval(12, 30)))

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

import pandas as pd

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

print("IntervalArray...\n", intervals)
print("\nInterval length...\n", intervals.length)
print("\nDoes interval overlaps values in the IntervalArray...\n",
      intervals.overlaps(pd.Interval(12, 30)))

ผลลัพธ์

IntervalArray...

[(10, 20], (15, 35]]
Length: 2, dtype: interval[int64, right]

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

Does interval overlaps values in the IntervalArray...
[True True]

คำอธิบาย

  • ช่วงที่ 1: (10, 20] ทับซ้อนกับ (12, 30) ที่ 12-20
  • ช่วงที่ 2: (15, 35] ทับซ้อนกับ (12, 30) ที่ 15-30
  • ทั้งคู่ทับซ้อน → [True, True]
  • ค่าเริ่มต้นของ Interval: ปิดขวา (right-closed)
  • เหมาะสำหรับการ filter, masking, หรือ conditional logic