ComeçarComece de graça

Rotular os dados

Um dataframe df está disponível com as colunas endword: string, features: vector e outvec: vector. Você deve selecionar as linhas em que endword é igual a "him" e adicionar uma coluna label com o valor inteiro 1. Em seguida, use a operação union para adicionar o mesmo número de linhas em que endword não é igual a him, de forma que essas linhas adicionais tenham label = 0.

Lembrando: em SQL, a comparação de diferente é feita usando <>.

Este exercício faz parte do curso

Introdução ao Spark SQL em Python

Ver curso

Instruções do exercício

  • Importe a função lit.
  • Selecione as linhas em que endword é 'him' e adicione uma coluna inteira label com o valor 1.
  • Selecione as linhas em que endword não é 'him' e adicione uma coluna inteira label com o valor 0.
  • Faça o union desses dois conjuntos, usando um número de exemplos negativos igual ao número de exemplos positivos.

Exercício interativo prático

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

# Import the lit function
from pyspark.____ import lit

# Select the rows where endword is 'him' and label 1
df_pos = df.where("____ = 'him'")\
           .withColumn('label', lit(____))

# Select the rows where endword is not 'him' and label 0
df_neg = df.where("endword <> '____'")\
           .withColumn('label', ____(0))

# Union pos and neg in equal number
df_examples = df_pos.____(df_neg.limit(df_pos.count()))
print("Number of examples: ", df_examples.count())
df_examples.where("endword <> 'him'").sample(False, .1, 42).show(5)
Editar e executar o código