When / Otherwise
前の要件と似ていますが、今回は有権者の役職に応じて複数の値を付与します。voter_df DataFrame を修正し、役職が Councilmember の投票者には乱数を加算します。Mayor には 2、その他の役職には 0 を設定してください。
voter_df DataFrame は定義済みで利用可能です。pyspark.sql.functions ライブラリは F として利用できます。乱数の生成には F.rand() を使えます。
この演習はコースの一部です
PySpark でデータをクレンジングする
演習の手順
- 役職が Councilmember の有権者に対して、
F.rand()の結果を用いてrandom_valという列をvoter_dfに追加します。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()