When / Otherwise
這個需求與上一題類似,不過現在你要依選民的職稱加入多種不同的數值。請修改你的 voter_df DataFrame,對任何職稱為 Councilmember 的投票成員加上一個隨機數。對 Mayor 使用 2,其他任何職稱使用 0。
voter_df DataFrame 已定義並可使用。pyspark.sql.functions 函式庫已以 F 匯入。你可以用 F.rand() 來產生隨機值。
本練習屬於課程
使用 PySpark 清理資料
練習說明
- 在
voter_df新增一個名為random_val的欄位:對職稱為「Councilmember」的選民填入F.rand()的結果。對「Mayor」將random_val設為 2。其他任何職稱設為 0。 - 顯示部分 DataFrame 的列,並檢查這些子句是否如預期生效。
- 使用
.filter子句找出random_val中為 0 的列。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()