When / Otherwise
这个需求与上一个类似,但现在您需要根据投票成员的职位添加不同的数值。请修改 voter_df DataFrame,对职位为 Councilmember 的投票成员加上一个随机数。对于 Mayor 使用 2,对于其他任何职位使用 0。
voter_df 数据框已定义并可用。pyspark.sql.functions 库已按 F 导入。您可以使用 F.rand() 生成随机值。
本练习是课程的一部分
使用 PySpark 进行数据清洗
练习说明
- 为
voter_df添加一列random_val:对于头衔为 Councilmember 的选民,取F.rand()的结果;对于 Mayor,将random_val设为 2;其他任何头衔设为 0。 - 展示部分数据框行,检查这些子句是否生效。
- 使用
.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()