始める無料で始める

一対多のマージ

1つの事業者には、オーナーが1人の場合も複数人の場合もあります。この演習では、事業者のオーナー情報を持つ biz_owners テーブルを licenses テーブルにマージすることで、一対多のマージの経験をさらに積みましょう。ビデオレッスンで学んだように、一対多の関係では、左のテーブルの1行が右のテーブルの複数行に対応している場合、その行が繰り返して現れることがあります。この演習では、最も多い事業者オーナーの肩書き(幹事、CEO、副社長など)を調べながら、この仕組みをさらに深く理解しましょう。

licensesbiz_owners の DataFrame はあらかじめ読み込まれています。

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

pandas によるデータの結合

コースを見る

演習の手順

  • licenses テーブルを左側に置き、biz_owners 列をキーとして account テーブルにマージし、結果を licenses_owners という変数に保存してください。
  • licenses_ownerstitle でグループ化し、各肩書きごとのアカウント数を集計して、結果を counted_df として保存してください。
  • counted_dfaccounts の数で降順に並べ替え、sorted_df という変数に保存してください。
  • .head() メソッドを使って、sorted_df の最初の数行を表示してください。

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

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

# Merge the licenses and biz_owners table on account
licenses_owners = ____

# Group the results by title then count the number of accounts
counted_df = licenses_owners.groupby(____).agg({'account':'count'})

# Sort the counted_df in descending order
sorted_df = counted_df.sort_values(____)

# Use .head() method to print the first few rows of sorted_df
print(____)
コードを編集して実行