Python Pandas: compruebe si dos objetos de intervalo que comparten puntos finales cerrados se superponen

En este artículo, cubriremos cómo verificar si dos intervalos con punto final compartido se superponen o no. Para esto, usamos la clase Interval de pandas y el método superposiciones() para todas las operaciones relacionadas con intervalos.

Sintaxis: Interval.overlaps()

parámetros:

  • otro: objeto de intervalo. Compruebe si hay una superposición utilizando este intervalo.

Devuelve: bool . devuelve verdadero si dos intervalos se superponen. de lo contrario devuelve falso.

Implementación paso a paso

Paso 1:

Importe todas las bibliotecas necesarias.

import pandas

Paso 2: 

Cree los dos intervalos que comparten puntos finales cerrados

pd.Interval(1,5, closed =both")
pd.Interval(5,10, closed="both")

Paso 3:

Compruebe si los intervalos se superponen o no utilizando el método de superposición(). Devuelve un bool.

IsOverlap = Interval1.overlaps(Interval2)

Implementaciones de código 

Ejemplo 1: Cree y luego verifique si dos intervalos que comparten extremos cerrados se superponen.

Python3

# importing pandas library
import pandas as pd
  
# Creating two closed intervals that
# share the endpoint
Interval1 = pd.Interval(1, 5, closed='both')
Interval2 = pd.Interval(5, 10, closed='both')
  
# printing the intervals
print("Interval1 :", Interval1)
print("Interval2 :", Interval2)
  
# display the length of both Interval1
# and Interval2 objects
print("\nInterval1 object length = ", Interval1.length)
print("\nInterval2 object length = ", Interval2.length)
  
# Check whether both the intervals overlap
print("do the intervals overlap ? :", Interval1.overlaps(Interval2))

Salida :

Ejemplo 2: Cree y luego verifique si una array de intervalos que comparten puntos finales cerrados se superponen a un intervalo dado [3,16].

Python3

# importing pandas library
import pandas as pd
Intervals = pd.arrays.IntervalArray.from_tuples(
    [(1, 6), (6, 10), (10, 15), (20, 25)], closed="both")
  
# Display the IntervalArray
print("Intervals_array", Intervals)
  
# check if the given intervals overlap with [3,16]
print(Intervals.overlaps(pd.Interval(3, 16, closed='both')))

Producción:

Publicación traducida automáticamente

Artículo escrito por lokeshpotta20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *