複数テーブルの結合
今度は別の観点から、パント時の選手の位置をマッピングしたいと考えています。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())