Bắt đầu ngayBắt đầu miễn phí

Join theo thành phần thời gian

Bạn thường sẽ dùng các thành phần ngày tháng để join với các tập thông tin khác. Tuy nhiên, trong ví dụ này, chúng ta cần dùng dữ liệu mà người cân nhắc mua nhà khi đó có thể tiếp cận. Điều này có nghĩa là bạn sẽ cần dùng dữ liệu báo cáo của năm trước cho phân tích của mình.

Bài tập này là một phần của khóa học

Feature Engineering với PySpark

Xem khóa học

Hướng dẫn bài tập

  • Trích xuất năm từ LISTDATE bằng year() và đưa vào cột mới tên list_year với withColumn()
  • Tạo thêm một cột mới tên report_year bằng cách trừ 1 từ list_year
  • Tạo điều kiện join khớp df['CITY'] với price_df['City']df['report_year'] với price_df['Year']
  • Thực hiện left join giữa dfprice_df

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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()
Chỉnh sửa và Chạy Mã