始める無料で始める

複数テーブルの結合

今度は別の観点から、パント時の選手の位置をマッピングしたいと考えています。NextGenStats (NGS) では、すべてのプレーで全選手の位置と向きを毎秒10回記録していることを思い出してください。かなりのデータ量です!

分析の準備として、3つのデータフレームを結合します。以下はそれぞれの名前と概要です。

  • games: GameKey 単位の集約データ
  • punts: GameKey と PlayId 単位のプレーレベルデータ
  • ngs: GameKey、PlayId、GSISID(選手ID)、Time 単位の位置データ

チームメンバーが、各データフレームのインデックスを1行のコードで出力できるリスト内包表記を2行目に用意してくれています。リスト内包表記の詳細は、Python Data Science Toolbox Part 2 を参照してください。

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

スプレッドシート利用者のためのPandas結合

コースを見る

演習の手順

  • games を基準のデータフレームとして、インデックスで内積結合(inner join)してください。
  • 得られたデータフレームの先頭10行を表示します。
  • 新しいフレームのインデックスに重複がないように確認してください。

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

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

# List the index of each data frame
print([[n for n in df.index.names] for df in [games, punts, ngs]])

# Inner join the data frames
games_all = ____.____([punts, ____], how=____)

# View first 10 rows of new frame
print(____.head(10))

# Check index for duplicates
print(____.index.____.sum())
コードを編集して実行