开始使用免费开始使用

用 Python 过滤列内容

您已经学习了如何对 DataFrame 的列执行多种操作——现在来修改一个真实数据集。DataFrame voter_df 包含达拉斯市议会近几年选民的信息。这个截断后的 DataFrame 包含投票日期以及选民的姓名和职位。您的经理希望您清理这些数据,以便后续能整合进需要的报告中。主要任务是移除任何空值或异常字符,并返回一组特定的选民,便于您核验其信息。

这通常是数据清洗的第一步之一——删除任何明显不符合格式的内容。对于这个数据集,请务必查看原始数据,找出 VOTER_NAME 列中看起来不合适的内容。

pyspark.sql.functions 库已使用别名 F 导入。

本练习是课程的一部分

使用 PySpark 进行数据清洗

查看课程

练习说明

  • 显示去重后的 VOTER_NAME 条目。
  • 过滤 voter_df,仅保留 VOTER_NAME 长度为 1–20 个字符的记录。
  • 过滤掉 VOTER_NAME 中包含 _voter_df 记录。
  • 再次显示去重后的 VOTER_NAME 条目。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Show the distinct VOTER_NAME entries
voter_df.select(____).distinct().show(40, truncate=False)

# Filter voter_df where the VOTER_NAME is 1-20 characters in length
voter_df = ____('length(VOTER_NAME) > 0 and length(VOTER_NAME) < 20')

# Filter out voter_df where the VOTER_NAME contains an underscore
voter_df = voter_df.filter(~ F.col('VOTER_NAME').____)

# Show the distinct VOTER_NAME entries again
voter_df.____(____).____().____(40, truncate=False)
编辑并运行代码