Joinen über Zeitkomponenten
Oft nutzt du Datumsbestandteile, um weitere Informationssätze zu joinen. In diesem Beispiel brauchen wir jedoch Daten, die für Personen verfügbar gewesen wären, die über einen Hauskauf nachgedacht haben. Das heißt, für unsere Analyse müssen wir die Berichtsdaten des Vorjahres verwenden.
Diese Übung ist Teil des Kurses
<Kurs>Feature Engineering mit PySpark</Kurs>Übungsanweisungen
- Extrahiere das Jahr aus
LISTDATEmityear()und schreibe es mitwithColumn()in eine neue Spalte namenslist_year - Erstelle eine weitere neue Spalte namens
report_year, indem du vonlist_year1 abziehst - Erstelle eine Join-Bedingung, die
df['CITY']mitprice_df['City']unddf['report_year']mitprice_df['Year']abgleicht - Führe einen Left Join zwischen
dfundprice_dfaus
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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()