การ join ตาราง
ตารางในฐานข้อมูลเชิงสัมพันธ์มักมีคอลัมน์คีย์ที่ใช้ระบุตัวระเบียนแบบไม่ซ้ำกัน ซึ่งช่วยให้สร้าง pipeline ที่รวมตารางเข้าด้วยกันด้วย JOIN ของ SQL ได้ โดยไม่ต้องมารวมข้อมูลหลังจากนำเข้าแล้ว
ระเบียนใน hpd311calls มักเกี่ยวข้องกับปัญหาต่างๆ เช่น การรั่วซึม หรือระบบทำความร้อนขัดข้อง ซึ่งอาจรุนแรงขึ้นตามสภาพอากาศ ในแบบฝึกหัดนี้ จะนำข้อมูล weather มา join กับระเบียนการโทรผ่านคอลัมน์วันที่ที่มีร่วมกัน เพื่อรวมทุกอย่างไว้ใน dataframe เดียว โดยสามารถสมมติได้ว่าคอลัมน์เหล่านี้มีชนิดข้อมูลเดียวกัน
โหลด pandas ไว้เป็น pd และสร้าง database engine ชื่อ engine ไว้แล้ว
หมายเหตุ: ตัวตรวจสอบ SQL ค่อนข้างเข้มงวดเรื่องลำดับตารางในการ join โดยกำหนดให้ตารางใดอยู่ทางซ้ายและทางขวาโดยเฉพาะ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การนำเข้าข้อมูลด้วย pandas อย่างมีประสิทธิภาพ
คำแนะนำการฝึกหัด
- เติมคิวรีให้สมบูรณ์เพื่อ join
weatherเข้ากับhpd311callsผ่านคอลัมน์dateและcreated_dateตามลำดับ - คิวรีฐานข้อมูลและกำหนด dataframe ที่ได้ให้กับตัวแปร
calls_with_weather - แสดงแถวแรกๆ ของ
calls_with_weatherเพื่อยืนยันว่าทุกคอลัมน์ถูก join เข้ามาครบถ้วน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Query to join weather to call records by date columns
query = """
SELECT *
FROM hpd311calls
JOIN ____
ON hpd311calls.____ = ____.____;
"""
# Create dataframe of joined tables
calls_with_weather = ____
# View the dataframe to make sure all columns were joined
____