Aan de slagGa gratis aan de slag

When / Otherwise

Deze opgave lijkt op de vorige, maar nu wil je meerdere waarden toevoegen op basis van de positie van de kiezer. Pas je voter_df DataFrame aan om een willekeurig getal toe te voegen voor elk stemmend lid dat is aangemerkt als Councilmember. Gebruik 2 voor de Mayor en 0 voor elke andere functie.

De voter_df DataFrame is gedefinieerd en beschikbaar. De bibliotheek pyspark.sql.functions is beschikbaar als F. Je kunt F.rand() gebruiken om de willekeurige waarde te genereren.

Deze oefening maakt deel uit van de cursus

Data opschonen met PySpark

Cursus bekijken

Oefeninstructies

  • Voeg een kolom toe aan voter_df met de naam random_val met de uitkomst van de methode F.rand() voor elke kiezer met de titel Councilmember. Zet random_val op 2 voor de Mayor. Zet elke andere titel op de waarde 0.
  • Toon een aantal rijen van de DataFrame en controleer of de clausules gewerkt hebben.
  • Gebruik de .filter-clausule om 0 te vinden in random_val.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Add a column to voter_df for a voter based on their position
voter_df = voter_df.____('random_val',
                               when(voter_df.TITLE == 'Councilmember', ____)
                               .____(____, 2)
                               ____

# Show some of the DataFrame rows
voter_df.show()

# Use the .filter() clause with random_val
voter_df.____(____).show()
Code bewerken en uitvoeren