ComeçarComece de graça

Pivot & Join

Conseguir explodir e pivotar um campo composto é ótimo, mas você fica com um dataframe apenas com esses valores pivotados. Para ser realmente útil, você vai precisar fazer o join com o conjunto de dados original! Depois de fazer o join, teremos muitos valores NULL nas colunas recém-criadas; como sabemos o contexto de como elas foram geradas, podemos preencher com zero com segurança, já que o novo registro ou tem um atributo ou não tem.

Este exercício faz parte do curso

Feature Engineering com PySpark

Ver curso

Instruções do exercício

  • Pivotar os valores de ex_garage_list agrupando pelo id do registro NO com groupBy(); use o código fornecido para agregar constant_val para ignorar nulos e pegar o primeiro valor.
  • Fazer um left join de piv_df com df usando NO como condição de junção.
  • Criar a lista de colunas, zfill_cols, a serem preenchidas com zero usando o atributo columns de piv_df
  • Preencher com zero as colunas do dataframe pivotado, zfill_cols, usando fillna() com um subset.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 e executar o código