Meerdere tabellen joinen
Je wilt nu een andere invalshoek volgen en spelersposities tijdens punts in kaart brengen. Je herinnert je misschien dat het NextGenStats (NGS)-systeem 10 keer per seconde de posities en oriëntaties van alle spelers vastlegt, bij elke play. Dat is een hoop data!
Je gaat drie data frames joinen als voorbereiding op je analyse. Hieronder staan hun namen en beschrijvingen.
games: data op hoog niveau per GameKeypunts: data op play-niveau per GameKey en PlayIdngs: positiedata per GameKey, PlayId, GSISID (speler-id) en Time
Een teamlid heeft op regel 2 een list comprehension toegevoegd om in één regel code de index van elk data frame te printen. Voor meer informatie over list comprehensions kun je kijken naar Python Data Science Toolbox Part 2.
Deze oefening maakt deel uit van de cursus
Pandas-joins voor spreadsheetgebruikers
Oefeninstructies
- Voer een inner join op de index uit met
gamesals primaire data frame. - Bekijk de eerste 10 rijen van het resulterende data frame.
- Zorg dat de index van het nieuwe frame geen duplicaten bevat.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())