EmpezarEmpieza gratis

Pivotar y unir

Poder hacer explode y pivot de un campo compuesto está muy bien, pero eso te deja con un dataframe que solo contiene esos valores pivoteados. Para que sea realmente útil, tendrás que volver a unirlo con el conjunto de datos original. Después de unir los conjuntos de datos, tendremos muchos valores NULL en las nuevas columnas creadas; como conocemos el contexto de cómo se generaron, podemos rellenarlos con cero con total seguridad, ya que el nuevo registro o tiene un atributo o no lo tiene.

Este ejercicio forma parte del curso

Ingeniería de características con PySpark

Ver curso

Instrucciones del ejercicio

  • Pivota los valores de ex_garage_list agrupando por el id de registro NO con groupBy() y usa el código proporcionado para agregar constant_val para ignorar nulos y tomar el primer valor.
  • Realiza un left join de piv_df con df usando NO como condición de unión.
  • Crea la lista de columnas, zfill_cols, que vas a rellenar con ceros usando el atributo columns de piv_df.
  • Rellena con ceros las columnas del dataframe pivoteado, zfill_cols, usando fillna() con subset.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

from pyspark.sql.functions import coalesce, first

# Pivot 
piv_df = ex_df.____(____).____(____).agg(coalesce(first(____)))

# Join the dataframes together and fill null
joined_df = ____.join(____, on='NO', how=____)

# Columns to zero fill
zfill_cols = ____.____

# Zero fill the pivoted values
zfilled_df = joined_df.____(0, subset=____)
Editar y ejecutar código