เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกรองเนื้อหาในคอลัมน์ด้วย Python

ได้ลองใช้งานการดำเนินการต่างๆ กับคอลัมน์ใน DataFrame กันไปแล้ว ตอนนี้มาลองแก้ไขชุดข้อมูลจริงกัน DataFrame voter_df เก็บข้อมูลเกี่ยวกับผู้ลงคะแนนในสภาเมืองดัลลัสในช่วงสองสามปีที่ผ่านมา โดยมีคอลัมน์ที่ระบุวันที่ลงคะแนน รวมถึงชื่อและตำแหน่งของผู้ลงคะแนน ผู้จัดการของคุณขอให้ทำความสะอาดข้อมูลชุดนี้ เพื่อนำไปใช้ในรายงานที่ต้องการในภายหลัง งานหลักคือการลบรายการที่เป็นค่า null หรือมีอักขระแปลกปลอมออก แล้วคัดกรองเฉพาะผู้ลงคะแนนที่สามารถตรวจสอบข้อมูลได้

นี่คือหนึ่งในขั้นตอนแรกของการทำความสะอาดข้อมูล ซึ่งก็คือการนำข้อมูลที่ผิดรูปแบบอย่างชัดเจนออก สำหรับชุดข้อมูลนี้ ให้ดูข้อมูลต้นฉบับและสังเกตว่ามีค่าใดใน คอลัมน์ VOTER_NAME ที่ดูผิดปกติบ้าง

ไลบรารี pyspark.sql.functions ถูก import ไว้แล้วภายใต้ชื่อแทน F

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำความสะอาดข้อมูลด้วย PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แสดงรายการ VOTER_NAME ที่ไม่ซ้ำกัน
  • กรอง voter_df โดยเลือกเฉพาะแถวที่ VOTER_NAME มีความยาว 1-20 ตัวอักษร
  • กรองแถวที่มี _ ออกจาก 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)
แก้ไขและรันโค้ด