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

Python Pandas IntervalArray - Kiểm tra các khoảng chia sẻ các điểm cuối đã đóng có chồng lên nhau hay không

Để kiểm tra các Khoảng chia sẻ các điểm cuối đã đóng có chồng lên nhau hay không, hãy sử dụng IntervalArray.overlaps () trong Pandas.

Đầ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), (15, 35)])

Hiển thị IntervalArray -

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

Kiểm tra các Khoảng chia sẻ các điểm cuối đã đóng có chồng lên nhau hay không. Chúng tôi đã đặt giá trị đóng ở phía bên trái với giá trị "bên trái" của thông số "đóng" -

print("\nDoes interval that share closed endpoints overlap or not...\n",intervals.overlaps(pd.Interval(15,28, closed='left')))

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), (15, 35)])

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

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

# Check Intervals that share closed endpoints overlap or not
# We have set closed on the left-side with the "left" value of the "closed" parameter
print("\nDoes interval that share closed endpoints overlap or not...\n",intervals.overlaps(pd.Interval(15,28, closed='left')))

Đầu ra

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

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

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

Does interval that share closed endpoints overlap or not...
[ True True]