แพนด้าเชื่อมต่อเฟรมข้อมูล [2022]
เผยแพร่แล้ว: 2021-01-06ลองนึกภาพว่าคุณมีข้อมูลสองชุดที่คุณต้องรวมกันเพื่อทำการวิเคราะห์ ขณะใช้ SQL ระเบียนจากตารางตั้งแต่สองตารางขึ้นไปในฐานข้อมูลสามารถรวมเข้าด้วยกันโดยใช้การรวม SQL ในทำนองเดียวกัน มีตัวเลือกใน Python เช่นกันในการเชื่อมโยงเฟรมข้อมูล แล้ว data frame คืออะไร? data frame ใน Python มีหลายแถวและหลายคอลัมน์ คล้ายกับตารางใน SQL คุณมีไลบรารีซอฟต์แวร์ pandas สำหรับการวิเคราะห์ข้อมูลใน Python กรอบข้อมูลของ Pandas เชื่อมต่อกันช่วยให้เรารวมกรอบข้อมูลตามตรรกะบางอย่าง
วิธีต่างๆ ในการรวมเฟรมข้อมูล:
- การ เข้าร่วมภายใน: การเข้าร่วมภายในค่อนข้างคล้ายกับจุดตัดของสองชุด ในกรณีที่มีการรวมภายใน กรอบข้อมูลจะถูกส่งกลับโดยมีเพียงแถวที่มีคุณสมบัติร่วมกันเท่านั้น ดังนั้นแต่ละแถวในกรอบข้อมูลสองเฟรมที่รวมกันควรมีค่าคอลัมน์ที่ตรงกัน
- การ รวมด้านซ้าย: การรวมด้านซ้ายจะส่งคืนแถวทั้งหมดจาก data frame ด้านซ้ายและเฉพาะแถวที่ตรงกันจาก data frame ด้านขวา
- เข้าร่วมทางขวา: การรวมทางขวาจะส่งคืนแถวทั้งหมดจาก data frame ด้านขวาและเฉพาะแถวที่ตรงกันจาก data frame ด้านซ้าย
- การ รวมแบบเต็มหรือภายนอก: การเข้าร่วมแบบเต็มจะเก็บแถวทั้งหมดจากกรอบข้อมูลด้านซ้ายและกรอบข้อมูลด้านขวา
แหล่งที่มา
ให้เราดูที่ฟังก์ชันที่มีอยู่ใน Pandas เพื่อรวม data frames หรือ series
สารบัญ
ฟังก์ชั่นใน Pandas
1. เข้าร่วมฟังก์ชั่น
ตามที่เราได้อ่านมา Python มีคุณสมบัติเหมือน SQL มากมายสำหรับการรวมข้อมูล กรอบข้อมูลมีดัชนีที่ทำหน้าที่เป็นที่อยู่ โดยปกติ ดัชนีแถวจะเรียกว่าดัชนีในขณะที่คอลัมน์ระบุด้วยชื่อคอลัมน์ การดำเนินการเข้าร่วมช่วยให้คุณสามารถรวมคอลัมน์ทั้งหมดจากสองเฟรมข้อมูล คุณสามารถเปลี่ยนชื่อคอลัมน์ซ้ายและขวาได้โดยอัปเดตพารามิเตอร์ "lsuffix" และ "rsuffix" คุณจะได้รับตัวเลือกให้เลือกวิธีการรวมโดยอัปเดตพารามิเตอร์ "วิธี"
2. ผสานฟังก์ชัน
ฟังก์ชันผสานค่อนข้างคล้ายกับการดำเนินการเข้าร่วม อย่างไรก็ตาม คุณสามารถควบคุมได้อย่างยืดหยุ่นในขณะที่รวมคอลัมน์ทั้งหมดจากเฟรมข้อมูลสองเฟรม คุณสามารถใช้ on = ชื่อคอลัมน์ เพื่อรวมกรอบข้อมูลในคอลัมน์ทั่วไป คุณสามารถอัปเดต left_on = ชื่อคอลัมน์ หรือ right_on = ชื่อคอลัมน์ เพื่อจัดแนวตารางโดยใช้คอลัมน์จากกรอบข้อมูลด้านซ้ายหรือด้านขวาเป็นคีย์ การเลือก left_index = True หรือ right_index = True อนุญาตให้คุณใช้ป้ายกำกับแถวจากกรอบข้อมูลด้านซ้ายหรือกรอบข้อมูลด้านขวาเป็นคีย์การรวม
ไวยากรณ์:
DataFrame.merge( ตัวเอง , ขวา , วิธี='ซ้าย' , บน=ไม่มี , left_on=ไม่มี ,
right_on=None , left_index=False , right_index=False , sort=False , suffixes=('_x' , '_y') , copy=True , indicator=False , validate=None )

อ่าน: คำถามสัมภาษณ์แพนด้า
3. ฟังก์ชั่น Concat
เมื่อใช้ฟังก์ชัน Concat คุณสามารถรวมข้อมูลในคอลัมน์หรือแถวตามที่คุณเลือก คุณสามารถตั้งค่าตรรกะของการเข้าร่วม (ซ้าย/ขวา/ภายใน/เข้าร่วมแบบเต็ม) บนแกนใดแกนหนึ่งจากสองแกน คุณยังได้รับตัวเลือกให้ตรวจสอบว่าแกนที่ต่อกันใหม่มีค่าที่ซ้ำกันโดยใช้ Verify_integrity หรือไม่ หากไม่มีการระบุค่าดัชนีบนแกนต่อ แกนผลลัพธ์จะถูกระบุเป็น 0,1,… n-1 พารามิเตอร์คีย์ช่วยให้คุณสร้างดัชนีตามลำดับชั้นโดยใช้คีย์ที่ส่งผ่าน
ไวยากรณ์
pandas.concat( objs , axis=0 , join='left' , join_axes=None ,
ละเว้น_ดัชนี=เท็จ , คีย์=ไม่มี , ระดับ=ไม่มี , ชื่อ=ไม่มี ,
Verify_integrity=False , sort=None , copy=True )
อ่าน: อัลกอริธึมโครงสร้างข้อมูลใน Python
ห่อ
ดังที่เราได้เห็นในแพนด้าแล้ว DataFrame ฟังก์ชัน merge และ join ใช้เพื่อรวม data frames ที่ทำงานบนคอลัมน์ นอกจากนี้ยังมีตัวเลือกในการเปลี่ยนชื่อคอลัมน์ตามคำต่อท้ายที่ให้ไว้ ฟังก์ชันผสานมีความยืดหยุ่นมากขึ้นในกรณีของการจัดตำแหน่งตามแถว ในทางตรงกันข้าม ฟังก์ชัน Concat ของแพนด้าสามารถทำงานได้ทั้งในแถวหรือคอลัมน์
ไม่มีการเปลี่ยนชื่อคอลัมน์ในขณะที่ใช้ฟังก์ชัน Concat เฟรมข้อมูลของ Pandas ต่อกันเป็นคุณสมบัติที่สำคัญเมื่อเราต้องรวมเฟรมข้อมูลสองเฟรม การรวมเฟรมข้อมูลสองเฟรมโดยใช้เงื่อนไขบางอย่างช่วยให้คุณเตรียมข้อมูลที่จำเป็นสำหรับการวิเคราะห์และงานอื่นๆ ดังนั้นสำหรับซอฟต์แวร์ไลบรารีแพนด้าที่เชื่อมเฟรมข้อมูลเข้าด้วยกันจึงเป็นฟังก์ชันที่สำคัญ
คุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันต่างๆ ที่มีอยู่ในแพนด้าและเจาะลึก Data Analytics หรือไม่? คุณสามารถตรวจสอบ PG Diploma in Data Science ที่นำเสนอโดย upGrad หลักสูตรนี้จัดทำโดยผู้เชี่ยวชาญในอุตสาหกรรม และจะช่วยให้คุณเรียนรู้เพิ่มเติมเกี่ยวกับการวิเคราะห์ข้อมูลเชิงสำรวจ เทคนิคการสร้างภาพข้อมูลต่างๆ และอัลกอริทึมในการเรียนรู้ของเครื่อง เริ่มต้นอาชีพของคุณในด้าน Data Analytics และ Machine Learning ด้วย upGrad
ข้อต่าง ๆ ในแพนด้ามีอะไรบ้าง?
ห้องสมุด Pandas มีการรวมสี่ประเภทที่แตกต่างกันเพื่อรวมเฟรมข้อมูล การรวมเหล่านี้มีดังนี้ - Inner join เป็นการรวมพื้นฐานที่สุดในการรวมเฟรมข้อมูล การรวมภายในส่งกลับกรอบข้อมูลที่มีเฉพาะแถวที่มีคุณสมบัติร่วมกันเท่านั้น ดังนั้นทั้งสองเฟรมข้อมูลที่รวมกันควรมีค่าร่วมกัน การรวมแบบเต็มหรือภายนอกจะส่งกลับแถวทั้งหมดของกรอบข้อมูลด้านซ้ายและขวา กล่าวอีกนัยหนึ่งก็คือมันให้การรวมกันของกรอบข้อมูลทั้งสอง การรวมด้านซ้ายจะส่งคืนแถวทั้งหมดของกรอบข้อมูลด้านซ้ายพร้อมกับแถวที่ตรงกันของกรอบข้อมูลด้านขวา การรวมทางขวานั้นตรงกันข้ามกับการเข้าร่วมทางซ้าย จะส่งคืนแถวทั้งหมดของ data frame ด้านขวาพร้อมกับแถวที่ตรงกันของ data frame ด้านซ้าย
วิธีต่างๆ ในการต่อแถวหรือคอลัมน์ต่างๆ
แถวหรือคอลัมน์ของเฟรมข้อมูลสองเฟรมสามารถต่อกันได้ด้วยวิธีต่อไปนี้: 1. การต่อ DataFrame โดยใช้ .concat() - นี่เป็นวิธีที่ง่ายที่สุดในการเชื่อมสองแถวหรือคอลัมน์ที่เราใช้ฟังก์ชัน “.concat()” 2. การต่อ DataFrame โดยการตั้งค่าตรรกะบนแกน - ในวิธีนี้ เรากำหนดตรรกะที่แตกต่างกันบนแกน ต่อไปนี้เป็นวิธีกำหนดแกน: ใช้สหภาพ (เข้าร่วม = นอก) ใช้ทางแยก (เข้าร่วม = ภายใน) ใช้ดัชนีเฉพาะ 3. การต่อ DataFrame โดยใช้ .append() - ฟังก์ชัน “.append()” ถูกใช้ก่อนฟังก์ชัน “.concat()” และเชื่อมตามแกน = 0 4. การต่อ DataFrame โดยไม่สนใจดัชนี - ในวิธีนี้ เราเพิกเฉยต่อดัชนีที่ไม่มีความหมายและต่อท้าย data frame เราใช้ dissolve_index เป็นอาร์กิวเมนต์เพื่อละเว้นดัชนีที่ทับซ้อนกัน
คุณรู้อะไรเกี่ยวกับฟังก์ชันผสาน?
ฟังก์ชันผสานทำงานบนเฟรมข้อมูลสองเฟรมเพื่อรวมแถวหรือคอลัมน์ เป็นการดำเนินการเข้าร่วมหน่วยความจำสูงและคล้ายกับฐานข้อมูลเชิงสัมพันธ์ คุณสามารถใช้ on = ชื่อคอลัมน์ เพื่อรวมกรอบข้อมูลในคอลัมน์ทั่วไป
คุณสามารถอัปเดต left_on = ชื่อคอลัมน์ หรือ right_on = ชื่อคอลัมน์ เพื่อจัดแนวตารางโดยใช้คอลัมน์จากกรอบข้อมูลด้านซ้ายหรือด้านขวาเป็นคีย์ การเลือก left_index = True หรือ right_index = True อนุญาตให้คุณใช้ป้ายกำกับแถวจากกรอบข้อมูลด้านซ้ายหรือกรอบข้อมูลด้านขวาเป็นคีย์การรวม