Estoy tratando de crear una columna dentro de databricks usando pyspark. Necesito verificar si la columna de fecha se encuentra entre otras dos columnas de fecha y si es 1 si no es entonces 0. Quiero llamar a esta verdad básica, ya que esto me dirá si en la fecha se encuentra entre las dos columnas de fecha. Esto es lo que tengo hasta ahora:

Df = (df .withColumn ("Ground_truth_IE", when (col ("ReadingDateTime"). between (col ("EventStartDateTime") & col ("EventEndDateTime")), 1) .otherwiste (0)))

Pero sigo recibiendo un error:

TypeError: between () falta 1 argumento posicional requerido: 'upperBound'

0
Hansie Rivera 21 oct. 2020 a las 23:12

1 respuesta

La mejor respuesta

El operador between() en pyspark debe usarse como: between(lowerBound, upperBound)

df = df.withColumn("Ground_truth_IE", when(col("ReadingDateTime")\
        .between(col("EventStartDateTime"),col("EventEndDateTime")), 1).otherwise(0))
0
Cena 21 oct. 2020 a las 20:44