开始使用免费开始使用

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()
编辑并运行代码