時間要素での結合
日付の要素を使って、別の情報セットを結合することはよくあります。ただしこの例では、家の購入を検討している人が利用できたであろうデータを使う必要があります。つまり、分析には前年の報告データを使う必要があります。
この演習はコースの一部です
PySparkで学ぶ特徴量エンジニアリング
演習の手順
year()を使ってLISTDATEから年を抽出し、withColumn()でlist_yearという新しい列に入れます。list_yearから1を引いて、report_yearという別の新しい列を作成します。df['CITY']とprice_df['City']、df['report_year']とprice_df['Year']が一致するような結合条件を作成します。dfとprice_dfの間でleft joinを実行します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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()