Este grupo de redactores ha estado por horas buscando la resolución a tu interrogante, te compartimos la resolución de modo que nuestro deseo es serte de gran apoyo.
Solución:
Si desea modificar un subconjunto de su DataFrame y mantener el resto sin cambios, la mejor opción sería usar pyspark.sql.functions.when()
como usando filter
o pyspark.sql.functions.where()
eliminaría todas las filas donde no se cumple la condición.
from pyspark.sql.functions import col, when
valueWhenTrue = None # for example
df.withColumn(
"existingColumnToUpdate",
when(
col("userid") == 22650984,
valueWhenTrue
).otherwise(col("existingColumnToUpdate"))
)
When evaluará el primer argumento como una condición booleana. Si la condición es True
, devolverá el segundo argumento. Puede encadenar varios when
declaraciones como se muestra en esta publicación y también en esta publicación. O usar otherwise()
para especificar qué hacer cuando la condición es False
.
En este ejemplo, estoy actualizando una columna existente "existingColumnToUpdate"
. Cuando el userid
es igual al valor especificado, actualizaré la columna con valueWhenTrue
. De lo contrario, mantendremos el valor en la columna sin cambios.
Reseñas y calificaciones de la guía
Si piensas que ha sido provechoso este artículo, agradeceríamos que lo compartas con más juniors de esta forma nos ayudas a difundir nuestro contenido.