始める無料で始める

画像ごとのカウント

このデータセット向けのデータパイプラインを構築する次のタスクは、分析に役立つ列をいくつか作成することです。先に作成した dog_list 列を基に、各画像に写っている犬の数を計算するよう依頼されています。また、いくつかのデータ列の内容をより適切に解釈できるよう、DogType も作成済みです。

joined_df は前に定義したとおりに利用可能で、DogType の StructType も定義されています。pyspark.sql.functionsF というエイリアスで利用できます。

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

PySpark でデータをクレンジングする

コースを見る

演習の手順

  • dog_list の各エントリを適切な要素に分割する Python 関数を作成してください。文字列は適切な型に変換しないと DogType を正しく解釈できないので注意してください。
  • 上記の関数を使って UDF を作成してください。
  • UDF を使って dogs という新しい列を作成してください。
  • 新しい列にある犬の数を、先頭10行について表示してください。

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

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

# Create a function to return the number and type of dogs as a tuple
def dogParse(doglist):
  dogs = []
  for dog in doglist:
    (breed, start_x, start_y, end_x, end_y) = dog.____('____')
    dogs.append((____, int(____), ____, ____, ____))
  return dogs

# Create a UDF
udfDogParse = ____(____, ArrayType(____))

# Use the UDF to list of dogs
joined_df = joined_df.____('____', ____('____'))

# Show the number of dogs in the first 10 rows
joined_df.____(____('____')).____(____)
コードを編集して実行