การ merge แบบ one-to-many ให้สมบูรณ์
เมื่อเตรียมข้อมูลเรียบร้อยแล้ว ก็ถึงเวลา merge ตารางเหล่านั้น โดยจะนำ game_matchups และ punts มารวมกัน จำได้ไหมว่าก่อนหน้านี้เราตรวจสอบแล้วว่า data frame ทั้งสองพร้อมใช้งาน สิ่งที่ต้องทำตอนนี้คือทบทวนข้อมูลอีกครั้งอย่างรวดเร็ว แล้วจึงเขียนโค้ด
หลังจาก merge ข้อมูลแล้ว เราสามารถหาจำนวนเกมที่มีการ punt ในจำนวนครั้งต่างๆ ได้ด้วยการ group ตาม GameKey และนับจำนวนรายการในคอลัมน์ PlayId ซึ่งโค้ดส่วนนี้ได้เตรียมไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Pandas Joins for Spreadsheet Users
คำแนะนำการฝึกหัด
- ดู 5 แถวแรกของ data frame แต่ละตัว
- Inner merge ข้อมูลโดยใช้
puntsเป็น data frame ทางขวา แล้วดูผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# View first 5 rows of each data frame
print(____.head(), '\n', ____.head())
# Merge data frames
games_all = ____.merge(____, how='____')
print(____.head(10))
# Produce counts of games by number of punts
counts = games_all.groupby('GameKey')['PlayId'].size()
counts.hist()
plt.xlabel("Punts per Game")
plt.ylabel("Number of Games")
plt.show()