Kom igångKom igång gratis

Joina på tidskomponenter

Det är vanligt att använda datumkomponenter för att joina in annan information. I det här exemplet behöver vi använda data som skulle ha varit tillgänglig för den som övervägde att köpa ett hus. Det innebär att vi behöver använda föregående års rapportdata i analysen.

Den här övningen är en del av kursen

Feature Engineering med PySpark

Visa kurs

Övningsinstruktioner

  • Extrahera året från LISTDATE med year() och lägg in det i en ny kolumn som heter list_year med withColumn()
  • Skapa ytterligare en ny kolumn som heter report_year genom att subtrahera 1 från list_year
  • Skapa ett joinvillkor som matchar df['CITY'] med price_df['City'] och df['report_year'] med price_df['Year']
  • Utför en left join mellan df och price_df

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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()
Redigera och kör kod