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

การกรองฟิลด์ตัวเลขแบบมีเงื่อนไข

การทำความเข้าใจบริบทของข้อมูลเป็นสิ่งสำคัญมาก เราต้องการดูว่าช่วงราคาบ้านที่ขายได้ปกติอยู่ที่เท่าใด ดังนั้นจึงต้องกรองบ้านที่มีราคาสูงหรือต่ำกว่าค่าเฉลี่ยอย่างผิดปกติออกไป โดยจะคำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐาน แล้วนำไปกรองฟิลด์ log_SalesClosePrice ที่มีการกระจายใกล้เคียงการแจกแจงปกติ

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

Feature Engineering with PySpark

ดูคอร์ส

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

  • นำเข้า mean() และ stddev() จาก pyspark.sql.functions
  • ใช้ agg() เพื่อคำนวณค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของ 'log_SalesClosePrice' ด้วยฟังก์ชันที่นำเข้ามา
  • สร้างขอบเขตบนและขอบเขตล่างโดยนำ mean_val บวก/ลบ 3 เท่าของ stddev_val
  • สร้างตัวกรอง where() สำหรับ 'log_SalesClosePrice' โดยใช้ทั้ง low_bound และ hi_bound

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

from ____ import ____, ____

# Calculate values used for outlier filtering
mean_val = df.____({____: ____}).collect()[0][0]
stddev_val = df.____({____: ____}).collect()[0][0]

# Create three standard deviation (μ ± 3σ) lower and upper bounds for data
low_bound = ____ - (3 * ____)
hi_bound = ____ + (3 * ____)

# Filter the data to fit between the lower and upper bounds
df = df.____((df[____] < ____) ____ (df[____] > ____))
แก้ไขและรันโค้ด