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

Python Pandas - ตรวจสอบการทับซ้อนของช่วงใน IntervalArray (array.overlaps)

ในการตรวจสอบแบบองค์ประกอบ (element-wise) ว่าช่วง (Interval) ทับซ้อนกับค่าใน IntervalArray หรือไม่ ให้ใช้เมธอด array.overlaps()

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

import pandas as pd

2. สร้าง IntervalArray จากจุดแบ่ง

array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

3. แสดงช่วง

print("Our IntervalArray...\n", array)

4. ตรวจสอบการทับซ้อน

print("\nDoes the Interval overlaps the values in the IntervalArray", array.overlaps(pd.Interval(2.5, 3.2)))

ตัวอย่างโค้ดสมบูรณ์

import pandas as pd

# สองช่วงทับซ้อนหากมีจุดร่วม รวมถึงปลายที่ปิด
# ช่วงที่มีเพียงปลายที่เปิดร่วมกัน ไม่ถือว่าทับซ้อน
# สร้าง IntervalArray จากจุดแบ่ง
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

# แสดง IntervalArray
print("Our IntervalArray...\n", array)

# ตรวจสอบการทับซ้อนกับช่วง (2.5, 3.2)
print("\nDoes the Interval overlaps the values in the IntervalArray", array.overlaps(pd.Interval(2.5, 3.2)))

ผลลัพธ์

Our IntervalArray... 
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]

Does the Interval overlaps the values in the IntervalArray [False False True True False]

คำอธิบาย

ช่วง (2.5, 3.2) ทับซ้อนกับช่วงที่ 3 (2, 3] และช่วงที่ 4 (3, 4] ของ IntervalArray ดังนั้นตำแหน่งที่ 2 และ 3 (นับจาก 0) เป็น True