Fusionar intervalos superpuestos en PysPark.
Tengo un DataFrame como este (pero mucho más grande):
id start end
0 10 20
1 11 13
2 14 18
3 22 30
4 25 27
5 28 31
Estoy intentando fusionar de manera eficiente los intervalos superpuestos en PySpark, mientras se guarda en una nueva columna ‘ids’, qué intervalos fueron fusionados, para que se vea así:
start end ids
10 20 [0,1,2]
22 31 [3,4,5]
Visualización:
Desde:
A:
¿Puedo hacer esto sin usar una UDF?
Editar: el orden de id y start no necesariamente es el mismo.
davy.ai
Sí, puedes hacer esto sin usar una UDF. Aquí está una solución utilizando las funciones incorporadas de PySpark:
Esto debería darte el resultado deseado: