Actualmente estoy escribiendo este código en Pyspark, pero recibo errores y sé que está mal, pero no estoy seguro de cómo solucionarlo. Estoy tratando de decir que si 1 entonces quiero usar una columna determinada con el valor dentro de ella, si 2 esta otra columna con el valor dentro de ella y así sucesivamente.
ABC_SCHED = ABC_SCHED.withColumn("ABC123", F.when(F.col("MINS_TRA" == "1"), ABC_SCHED.T1_0to30) .when(F.col("MINS_TRA" == "2"), ABC_SCHED.T2_31to60) .when(F.col("MINS_TRA" == "3"), ABC_SCHED.T3_61to90) .when(F.col("MINS_TRA" == "4"), ABC_SCHED.T4_91to120) .when(F.col("MINS_TRA" == "5"), ABC_SCHED.T4_120ORMORE) .otherwise(F.lit(None)) )¡Encontré la respuesta! Solo tenía paréntesis en los lugares equivocados.
ABC_SCHED = ABC_SCHED.withColumn("ABC123", F.when((F.col("MINS_TRA") == "1"), ABC_SCHED.T1_0to30) .when((F.col("MINS_TRA") == "2"), ABC_SCHED.T2_31to60) .when((F.col("MINS_TRA") == "3"), ABC_SCHED.T3_61to90) .when((F.col("MINS_TRA") == "4"), ABC_SCHED.T4_91to120) .when((F.col("MINS_TRA") == "5"), ABC_SCHED.T5_120ORMORE) .otherwise(F.lit(None)) )