始める無料で始める

分割と展開(Split & Explode)

GARAGEDESCRIPTION のような複合フィールドを、使える形に整えるには段階を踏む必要があります。まずは、展開することでどんな価値が得られるかを早い段階で把握しておくと役立ちます。この例では、文字列をリスト風の配列に変換し、explode で展開してから、一意な値を確認します。

この演習はコースの一部です

PySparkで学ぶ特徴量エンジニアリング

コースを見る

演習の手順

  • 必要な関数 pyspark.sql.functionssplit()explode() をインポートします。
  • split() を使い、df['GARAGEDESCRIPTION'] を「,(カンマ+半角スペース)」で分割して新しい列 garage_list を作成します。
  • explode() を使って df['garage_list'] の各値ごとに新しいレコードを作成し、新しい列名を ex_garage_list とします。
  • distinct()ex_garage_list の重複を除いた一意な値を取得し、最初の100行を show で表示します。値の表示は 50 文字でトランケートしてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import needed functions
____ ____ ____ ____, ____

# Convert string to list-like array
df = df.withColumn(____, ____(____, ____))

# Explode the values into new records
ex_df = df.withColumn(____, ____(____))

# Inspect the values
ex_df[['ex_garage_list']].____().____(100, ____=____)
コードを編集して実行