在 Python Pandas 中逐個檢查區間是否與 IntervalArray 中的值重疊


如果要逐個檢查區間是否與 IntervalArray 中的值重疊,請在 Pandas 中使用 overlaps() 方法。

首先,匯入必需的庫 −

import pandas as pd

如果兩區間共享一個公共點(包括閉合端點),則重疊。只在公共點處有開端點的區間不重疊。建立一個 IntervalArray −

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

顯示 IntervalArray −

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

逐個檢查區間是否與 IntervalArray 中的值重疊 −

print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))

示例

以下是程式碼 −

import pandas as pd

# Two intervals overlap if they share a common point, including closed endpoints. Intervals
# that only have an open endpoint in common do not overlap
# 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 elementwise if an Interval overlaps the values in the IntervalArray
print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))

輸出

這將產生以下輸出 −

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

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

Does interval overlaps values in the IntervalArray...
[ True True]

更新於: 19-Oct-2021

276 次瀏覽

開啟你的 職業

完成課程,獲得認證

入門
廣告
© . All rights reserved.