When / Otherwise
Această cerință este similară cu cea anterioară, dar acum vrei să adaugi valori multiple în funcție de poziția alegătorului. Modifică DataFrame-ul voter_df pentru a adăuga un număr aleatoriu oricărui membru votant care are titlul Councilmember. Folosește valoarea 2 pentru Mayor și 0 pentru orice altă poziție.
DataFrame-ul voter_df este definit și disponibil. Biblioteca pyspark.sql.functions este disponibilă ca F.. Poți folosi F.rand() pentru a genera valoarea aleatorie.
Acest exercițiu face parte din cursul
Curățarea datelor cu PySpark
Instrucțiuni pentru exercițiu
- Adaugă o coloană în
voter_dfcu numelerandom_val, care să conțină rezultatele metodeiF.rand()pentru orice alegător cu titlul Councilmember. Seteazărandom_valla valoarea 2 pentru Mayor. Setează orice alt titlu la valoarea 0. - Afișează câteva rânduri din DataFrame și verifică dacă clauzele au funcționat corect.
- Folosește clauza
.filterpentru a găsi valoarea 0 înrandom_val.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()