Để kiểm tra từng phần tử (elementwise) xem một Interval có giao nhau (overlap) với các khoảng trong IntervalArray hay không, hãy sử dụng phương thức array.overlaps().
Các bước thực hiện
1. Import thư viện cần thiết
import pandas as pd
2. Tạo IntervalArray từ điểm chia
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
3. Hiển thị IntervalArray
print("IntervalArray của chúng ta...\n", array)
4. Kiểm tra giao nhau với Interval (2.5, 3.2)
print("\nInterval có giao nhau với IntervalArray không?", array.overlaps(pd.Interval(2.5, 3.2)))
Ví dụ hoàn chỉnh
import pandas as pd
# Hai khoảng giao nhau nếu chia sẻ điểm chung, kể cả đầu đóng
# Khoảng chỉ có đầu mở chung không tính giao nhau
# Tạo IntervalArray từ điểm chia
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
# Hiển thị IntervalArray
print("IntervalArray của chúng ta...\n", array)
# Kiểm tra giao nhau
print("\nInterval có giao nhau với IntervalArray không?", array.overlaps(pd.Interval(2.5, 3.2)))
Kết quả đầu ra
IntervalArray của chúng ta...
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]
Interval có giao nhau với IntervalArray không?
[False False True True False]
Giải thích: Interval (2.5, 3.2) giao nhau với (2, 3] (vùng 2.5-3.0) và (3, 4] (vùng 3.0-3.2). Mặc định khoảng đóng phải nên 3.0 thuộc cả hai khoảng. Trả về mảng boolean độ dài bằng IntervalArray.