Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas IntervalArray - Kiểm tra các khoảng chỉ có một điểm cuối mở có trùng lặp chung hay không

Để kiểm tra các Khoảng chỉ có một điểm cuối mở có trùng lặp chung hay không, hãy sử dụng phần chồng chéo () phương pháp.

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

Hai khoảng trùng lặp nếu chúng có chung một điểm, bao gồm cả các điểm cuối đóng. Tạo một IntervalArray -

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

Hiển thị IntervalArray -

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

Kiểm tra các khoảng chỉ có một điểm cuối mở ở phần chồng chéo chung hay không. Chúng tôi đã đặt đóng ở phía bên phải với giá trị "bên phải" của thông số "đã đóng" -

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

Ví dụ

Sau đây là mã -

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')))

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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]