Python Pandas - Check elementwise if the Intervals contain the value

PythonPandasServer Side ProgrammingProgramming

To check elementwise if the Intervals contain the value, use the array.contains() method.

At first, import the required libraries −

import pandas as pd

Construct a new IntervalArray from an array-like of splits −

array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

Display the intervals −

print("Our IntervalArray...\n",array)

Check whether the Interval contain a specific value −

print("\nDoes the Intervals contain the value? \n",array.contains(3.5))

Example

Following is the code −

import pandas as pd

# Construct a new IntervalArray from an array-like of splits
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

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

# Getting the length of IntervalArray
# Returns an Index with entries denoting the length of each Interval in the IntervalArray
print("\nOur IntervalArray length...\n",array.length)

# midpoint of each Interval in the IntervalArray as an Index
print("\nThe midpoint of each interval in the IntervalArray...\n",array.mid)

# get the right endpoints
print("\nThe right endpoints of each Interval in the IntervalArray as an Index...\n",array.right)

print("\nDoes the Intervals contain the value? \n",array.contains(3.5))

Output

This will produce the following code −

Our IntervalArray...
<IntervalArray>
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]

Our IntervalArray length...
Int64Index([1, 1, 1, 1, 1], dtype='int64')

The midpoint of each interval in the IntervalArray...
Float64Index([0.5, 1.5, 2.5, 3.5, 4.5], dtype='float64')

The right endpoints of each Interval in the IntervalArray as an Index...
Int64Index([1, 2, 3, 4, 5], dtype='int64')

Does the Intervals contain the value?
[False False False True False]
raja
Published on 13-Oct-2021 11:00:14
Advertisements