แบบใน แบบซ้าย แบบขวา และแบบนอก
เลือกการเชื่อมตารางที่เก็บแถวได้ถูกต้อง
แบบใน แบบซ้าย แบบขวา และแบบนอก เป็นบทเรียน Data Science Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Data Science Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน
สองตาราง หนึ่งคำถาม
ข้อมูลจริงมักไม่ได้อยู่ในตารางเดียว join จะรวมสองตารางเป็นหนึ่งเดียวโดยจับคู่แถวจากคอลัมน์ร่วม
คอลัมน์คีย์
การ join ทุกครั้งต้องมีคีย์: คอลัมน์ที่มีค่าซึ่งเชื่อมแถวของทั้งสองตารางเข้าด้วยกัน เช่น รหัสลูกค้าที่ใช้ร่วมกัน
ทำความรู้จัก merge
ใน pandas คุณจะ join ด้วย merge โดยส่งเฟรมสองรายการและระบุคอลัมน์คีย์ที่ต้องการจับคู่
merged = orders.merge(customers, on="customer_id")อินเนอร์เก็บเฉพาะรายการที่จับคู่ได้
การ join แบบ inner จะเก็บเฉพาะแถวที่มีคีย์อยู่ในทั้งสองตาราง ส่วนแถวที่จับคู่ไม่ได้จะหายไป
orders.merge(customers, on="customer_id", how="inner")ฝั่งซ้ายเก็บข้อมูลทั้งหมดของฝั่งซ้าย
การ join แบบ left จะเก็บทุกแถวจากตารางฝั่งซ้าย และเติม NaN ในคอลัมน์ฝั่งขวาที่ขาดหายเมื่อจับคู่ไม่ได้
orders.merge(customers, on="customer_id", how="left")ฝั่งขวาทำงานตรงข้ามกับฝั่งซ้าย
การ join แบบ right จะเก็บทุกแถวจากตารางฝั่งขวาแทน กล่าวได้ว่าเป็นการ join แบบ left ที่สลับตารางกัน
orders.merge(customers, on="customer_id", how="right")เอาต์เตอร์เก็บไว้ทั้งหมด
การ join แบบ outer จะเก็บทุกแถวจากทั้งสองตาราง จับคู่เท่าที่ทำได้ และใส่ NaN เมื่อไม่มีข้อมูลที่จับคู่กัน
orders.merge(customers, on="customer_id", how="outer")how ใช้ตัดสินใจเลือกแถว
อาร์กิวเมนต์ how เป็นตัวกำหนดทั้งหมด โดยควบคุมว่าแถวที่จับคู่ไม่ได้จะยังคงอยู่หรือไม่ ดังนั้นควรเลือกอย่างตั้งใจทุกครั้ง
อินเนอร์อาจทำให้ข้อมูลของคุณลดลง
โปรดระวัง: การ join แบบ inner จะลบแถวที่ไม่มีคู่จับคู่อย่างเงียบ ๆ ดังนั้นผลลัพธ์อาจมีขนาดเล็กกว่าที่คาดไว้มาก
ฝั่งซ้ายเป็นค่าเริ่มต้นที่ปลอดภัย
เมื่อคุณต้องการเพิ่มข้อมูลให้ตารางหลักโดยไม่สูญเสียแถวใด ๆ ให้เลือกใช้การ join แบบ left ก่อน 👍
ตรวจสอบ NaN รายการใหม่
หลังการ join แบบ left, right หรือ outer ค่า NaN ใหม่จะระบุแถวที่ไม่มีข้อมูลจับคู่จากอีกฝั่ง
ตรวจสอบความเข้าใจอย่างรวดเร็ว
คุณต้องการเก็บทุกแถวของตารางหลักไว้ แม้แต่แถวที่จับคู่ไม่ได้ ควรใช้การ join แบบใด
สรุป: วิธี join สี่แบบ
คุณได้เรียนรู้การ join สี่แบบแล้ว: inner เก็บรายการที่จับคู่ได้ left และ right เก็บข้อมูลจากฝั่งใดฝั่งหนึ่ง ส่วน outer เก็บไว้ทั้งหมด โปรดเลือกอย่างรอบคอบ
คำถามที่พบบ่อย
บทเรียน “แบบใน แบบซ้าย แบบขวา และแบบนอก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แบบใน แบบซ้าย แบบขวา และแบบนอก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Data Science Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Data Science Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แบบใน แบบซ้าย แบบขวา และแบบนอก”
เลือกการเชื่อมตารางที่เก็บแถวได้ถูกต้อง คุณปฏิบัติ Data Science Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Data Science Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Data Science Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “แบบใน แบบซ้าย แบบขวา และแบบนอก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Data Science Academy นี้ได้ไหม
ได้ บทเรียน Data Science Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แบบใน แบบซ้าย แบบขวา และแบบนอก
- ผสานด้วยคีย์และดัชนี
- concat เพื่อวางต่อและผนวก
- วินิจฉัยการเชื่อมตารางที่ผิดพลาด