開始使用免費開始

使用 Python 篩選欄位內容

你已經練習過在 DataFrame 欄位上使用各種操作,現在要來實際修改一個資料集。DataFrame voter_df 包含過去幾年達拉斯市議會投票人的相關資訊。這個經過截短的 DataFrame 包含投票日期、投票者的姓名與職稱。你的主管要你清理這份資料,以便之後整合到需要的報表中。主要任務是移除任何 null 條目或奇怪字元,並回傳一組特定的投票者,讓你可以驗證他們的資訊。

這通常是資料清理的第一步之一——先移除明顯不符合格式的內容。對這個資料集來說,請查看原始資料,找出 VOTER_NAME 欄位中看起來不對勁的項目。

pyspark.sql.functions 函式庫已以別名 F 匯入。

本練習屬於課程

使用 PySpark 清理資料

檢視課程

練習說明

  • 顯示不同的(distinct)VOTER_NAME 條目。
  • 篩選 voter_df,僅保留 VOTER_NAME 長度為 1–20 個字元的資料。
  • 進一步篩掉 VOTER_NAME 含有 _ 的列。
  • 再次顯示不同的(distinct)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)
編輯並執行程式碼