1. Learn
  2. /
  3. Courses
  4. /
  5. PySpark でデータをクレンジングする

Connected

Exercise

犬ピクセルの割合

犬のアノテーションデータを解析する最終タスクは、各画像において犬(複数可)を表すピクセルの割合を求めることです。これまで学んださまざまなテクニックを使って、この情報を計算し、後で分析できるように列として追加します。

ピクセルの割合を計算するには、まず各犬を表すピクセルの総数を求め、画像内で合計します。バウンディングボックスは次の式で計算できます。

(Xend - Xstart) * (Yend - Ystart)

注: この課題では、バウンディングボックス同士の重なりは無視してかまいません。

割合は、犬ピクセルの総数を画像の総ピクセル数で割り、100 を掛けて求めます。 joined_df DataFrame は直前に使用したものと同じです。pyspark.sql.functions は F にエイリアスされています。

Instructions

100 XP
  • タプルのリスト(犬オブジェクト)を受け取り、画像ごとの「犬」ピクセルの総数を計算する Python 関数を定義します。
  • その関数の UDF を作成し、DataFrame に新しい列 'dog_pixels' を作成するために使用します。
  • さらに、画像内の 'dog_pixels' の割合を表す列 'dog_percent' を作成します。0〜100% の範囲になるようにしてください。列参照は文字列名のみを使ってください(例: df.columnname ではなく "columnname")。
  • 画像内の 'dog_pixels' が 60% より多い最初の 10 行を表示します。SQL 形式の文字列(例: 'columnname > ____')を使用してください。