開始使用免費開始

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()
編輯並執行程式碼