Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Kiểm tra hai đối tượng Interval chia sẻ endpoint mở có chồng lấn không


Để kiểm tra xem hai đối tượng Interval chia sẻ một endpoint mở có chồng lấn hay không, hãy sử dụng phương thức overlaps().

Trước tiên, nhập các thư viện cần thiết:

import pandas as pd

Hai interval chồng lấn nếu chúng chia sẻ một điểm chung, bao gồm cả endpoint đóng. Các interval chỉ có endpoint mở chung thì không chồng lấn.

Tạo hai đối tượng Interval. Interval1 đóng từ cả hai bên. Interval2 mở từ cả hai bên:

interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')

Hiển thị các interval:

print("Interval1...\n", interval1)
print("Interval2...\n", interval2)

Kiểm tra xem cả hai đối tượng interval có chồng lấn hay không:

print("\nCả hai đối tượng interval có chồng lấn không?\n", interval1.overlaps(interval2))

Ví dụ

Dưới đây là mã hoàn chỉnh:

import pandas as pd
# Hai interval chồng lấn nếu chúng chia sẻ một điểm chung, bao gồm cả endpoint đóng
# Các interval chỉ có endpoint mở chung thì không chồng lấn
# Tạo hai đối tượng Interval
# Interval1 đóng từ cả hai bên
# Interval2 mở từ cả hai bên
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')
# hiển thị các interval
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# hiển thị độ dài của cả hai đối tượng Interval1 và Interval2
print("\nĐộ dài đối tượng Interval1 = ", interval1.length)
print("\nĐộ dài đối tượng Interval2 = ", interval2.length)
# kiểm tra xem cả hai đối tượng interval có chồng lấn hay không
print("\nCả hai đối tượng interval có chồng lấn không?\n", interval1.overlaps(interval2))

Kết quả

Đoạn mã trên sẽ cho ra kết quả sau:

Interval1... [10, 30]
Interval2... (30, 50)
Interval1 object length = 20
Interval2 object length = 20
Do both the interval objects overlap? False