เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ merge แบบหนึ่งต่อหลาย

ธุรกิจหนึ่งอาจมีเจ้าของได้หนึ่งคนหรือหลายคน ในแบบฝึกหัดนี้ จะได้ฝึก merge แบบหนึ่งต่อหลายเพิ่มเติม โดยนำตาราง biz_owners ซึ่งเก็บข้อมูลเจ้าของธุรกิจมา merge กับตาราง licenses จากบทเรียนที่ผ่านมา ในความสัมพันธ์แบบหนึ่งต่อหลาย แถวในตารางซ้ายอาจปรากฏซ้ำได้หากมีความสัมพันธ์กับหลายแถวในตารางขวา ในบทเรียนนี้ จะสำรวจเรื่องนี้ให้ลึกขึ้นโดยค้นหาตำแหน่งเจ้าของธุรกิจที่พบบ่อยที่สุด เช่น เลขานุการ, CEO, หรือรองประธาน

โหลด DataFrame licenses และ biz_owners ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การรวมข้อมูลด้วย pandas

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เริ่มต้นด้วยตาราง licenses ทางซ้าย แล้ว merge กับตาราง biz_owners บนคอลัมน์ account จากนั้นบันทึกผลลัพธ์ไว้ในตัวแปรชื่อ licenses_owners
  • จัดกลุ่ม licenses_owners ตาม title แล้วนับจำนวน account ของแต่ละตำแหน่ง บันทึกผลลัพธ์เป็น counted_df
  • เรียงลำดับ counted_df ตามจำนวน accounts จากมากไปน้อย แล้วบันทึกเป็นตัวแปรชื่อ 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(____)
แก้ไขและรันโค้ด