0Pricing
Data Science Academy · บทเรียน

แบบใน แบบซ้าย แบบขวา และแบบนอก

เลือกการเชื่อมตารางที่เก็บแถวได้ถูกต้อง

แบบใน แบบซ้าย แบบขวา และแบบนอก เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แบบใน แบบซ้าย แบบขวา และแบบนอก
  2. ผสานด้วยคีย์และดัชนี
  3. concat เพื่อวางต่อและผนวก
  4. วินิจฉัยการเชื่อมตารางที่ผิดพลาด
← กลับไปที่ Data Science Academy