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
Oefeninstructies
- Voeg een kolom toe aan
voter_dfmet de naamrandom_valmet de uitkomst van de methodeF.rand()voor elke kiezer met de titel Councilmember. Zetrandom_valop 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 inrandom_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()