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

การ Join โดยใช้ส่วนประกอบของวันที่

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

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

Feature Engineering with PySpark

ดูคอร์ส

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

  • ดึงปีออกจาก LISTDATE โดยใช้ year() แล้วเก็บไว้ในคอลัมน์ใหม่ชื่อ list_year ด้วย withColumn()
  • สร้างคอลัมน์ใหม่อีกคอลัมน์ชื่อ report_year โดยลบ 1 จาก list_year
  • สร้างเงื่อนไขการ join ที่จับคู่ df['CITY'] กับ price_df['City'] และ df['report_year'] กับ price_df['Year']
  • ทำการ left join ระหว่าง df กับ price_df

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

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

from pyspark.sql.functions import year

# Initialize dataframes
df = real_estate_df
price_df = median_prices_df

# Create year column
df = df.____(____, ____(____))

# Adjust year to match
df = df.withColumn(____, (df[____] - 1))

# Create join condition
condition = [df[____] == price_df[____], df[____] == price_df[____]]

# Join the dataframes together
df = ____.join(____, on=condition, how=____)
# Inspect that new columns are available
df[['MedianHomeValue']].show()
แก้ไขและรันโค้ด