DataFrame รวม 4 ประเภทที่นำเสนอโดยไลบรารีแพนด้าของ Python

DataFrame รวม 4 ประเภทที่นำเสนอโดยไลบรารีแพนด้าของ Python

ในฐานะนักวิเคราะห์ข้อมูล คุณมักจะต้องเผชิญกับความจำเป็นในการรวมชุดข้อมูลหลายชุด คุณจะต้องทำเช่นนี้เพื่อทำการวิเคราะห์ให้เสร็จสิ้นและได้ข้อสรุปสำหรับธุรกิจ/ผู้มีส่วนได้ส่วนเสียของคุณ





การแสดงข้อมูลมักเป็นเรื่องยากเมื่อจัดเก็บไว้ในตารางต่างๆ ในกรณีเช่นนี้ การรวมจะพิสูจน์คุณค่าของพวกเขา โดยไม่คำนึงถึงภาษาโปรแกรมที่คุณกำลังทำงานอยู่





คลิปวิดีโอประจำวันนี้

การรวม Python นั้นเหมือนกับการรวม SQL: พวกเขารวมชุดข้อมูลโดยจับคู่แถวของพวกเขาในดัชนีทั่วไป





สร้างสอง DataFrames สำหรับอ้างอิง

หากต้องการทำตามตัวอย่างในคู่มือนี้ คุณสามารถสร้าง DataFrames ตัวอย่างได้สองแบบ ใช้รหัสต่อไปนี้เพื่อสร้าง DataFrame แรกซึ่งมี ID ชื่อและนามสกุล

import pandas as pd 

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber"]})
print(a)

สำหรับขั้นตอนแรก นำเข้า หมีแพนด้า ห้องสมุด. จากนั้นคุณสามารถใช้ตัวแปร เอ เพื่อเก็บผลลัพธ์จากตัวสร้าง DataFrame ส่งพจนานุกรมที่มีค่าที่คุณต้องการผ่านตัวสร้าง



สุดท้าย แสดงเนื้อหาของค่า DataFrame ด้วยฟังก์ชันการพิมพ์ เพื่อตรวจสอบทุกอย่างที่คุณคาดหวัง

ในทำนองเดียวกัน คุณสามารถสร้าง DataFrame อื่น ซึ่งมี ID และค่าเงินเดือน





b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"], 
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(b)

คุณสามารถตรวจสอบเอาต์พุตในคอนโซลหรือ IDE ควรยืนยันเนื้อหาของ DataFrames ของคุณ:

Joins แตกต่างจาก Merge Function ใน Python อย่างไร?

ไลบรารีแพนด้าเป็นหนึ่งในไลบรารีหลักที่คุณสามารถใช้เพื่อจัดการ DataFrames เนื่องจาก DataFrames มีชุดข้อมูลหลายชุด ฟังก์ชันต่างๆ จึงมีให้ใน Python เพื่อรวมเข้าด้วยกัน





Python มีฟังก์ชันการรวมและการรวม ซึ่งคุณสามารถใช้เพื่อรวม DataFrames ได้ มีความแตกต่างอย่างสิ้นเชิงระหว่างฟังก์ชันทั้งสองนี้ ซึ่งคุณต้องจำไว้เสมอก่อนที่จะใช้อย่างใดอย่างหนึ่ง

ส่ง SMS ฟรีไปยังโทรศัพท์มือถือ

ฟังก์ชัน join รวม DataFrames สองอันตามค่าดัชนี ดิ ฟังก์ชันผสานรวม DataFrames ตามค่าดัชนีและคอลัมน์

สิ่งที่คุณต้องรู้เกี่ยวกับการเข้าร่วมใน Python

ก่อนพูดถึงประเภทของการเข้าร่วมที่มี สิ่งสำคัญที่ควรทราบมีดังนี้

  • การรวม SQL เป็นหนึ่งในฟังก์ชันพื้นฐานที่สุด และค่อนข้างคล้ายกับการรวมของ Python
  • ในการเข้าร่วม DataFrames คุณสามารถใช้ pandas.DataFrame.join() กระบวนการ.
  • การรวมเริ่มต้นดำเนินการเข้าร่วมด้านซ้าย ในขณะที่ฟังก์ชันผสานดำเนินการเข้าร่วมภายใน

ไวยากรณ์เริ่มต้นสำหรับการเข้าร่วม Python มีดังนี้:

DataFrame.join(other, on=None, how='left/right/inner/outer', lsuffix='', rsuffix='', 
sort=False)

เรียกใช้วิธีการเข้าร่วมใน DataFrame แรกและส่ง DataFrame ที่สองเป็นพารามิเตอร์แรก อื่นๆ . อาร์กิวเมนต์ที่เหลือคือ:

  • บน ซึ่งตั้งชื่อดัชนีที่จะเข้าร่วม หากมีมากกว่าหนึ่งรายการ
  • อย่างไร , ที่ กำหนดประเภทการรวม ทั้งด้านใน ด้านนอก ด้านซ้าย และด้านขวา
  • lsuffix , ที่ กำหนดสตริงต่อท้ายด้านซ้ายของชื่อคอลัมน์ของคุณ
  • คำต่อท้าย , ที่ กำหนดสตริงส่วนต่อท้ายที่ถูกต้องของชื่อคอลัมน์ของคุณ
  • เรียงลำดับ , ที่ เป็นบูลีนที่ระบุว่าจะเรียงลำดับ DataFrame ที่เป็นผลลัพธ์หรือไม่

เรียนรู้การใช้การเข้าร่วมประเภทต่างๆ ใน ​​Python

Python มีตัวเลือกเข้าร่วมสองสามแบบ ซึ่งคุณสามารถออกกำลังกายได้ ขึ้นอยู่กับความต้องการของชั่วโมง นี่คือประเภทการเข้าร่วม:

1. เข้าร่วมซ้าย

การรวมด้านซ้ายจะรักษาค่าของ DataFrame แรกไว้เหมือนเดิมในขณะที่นำค่าที่ตรงกันมาจากค่าที่สอง ตัวอย่างเช่น หากคุณต้องการนำค่าที่ตรงกันจาก คุณสามารถกำหนดได้ดังนี้:

c = a.join(b, how="left", lsuffix = "_left", rsuffix = "_right", sort = True) 
print(c)

เมื่อดำเนินการค้นหา ผลลัพธ์จะมีการอ้างอิงคอลัมน์ต่อไปนี้:

  • ID_left
  • Fname
  • Lname
  • ID_right
  • เงินเดือน

การรวมนี้จะดึงสามคอลัมน์แรกจาก DataFrame แรก และสองคอลัมน์สุดท้ายจาก DataFrame ที่สอง ได้ใช้ lsuffix และ คำต่อท้าย ค่าเพื่อเปลี่ยนชื่อคอลัมน์ ID จากชุดข้อมูลทั้งสอง ตรวจสอบให้แน่ใจว่าชื่อฟิลด์ผลลัพธ์ไม่ซ้ำกัน

ผลลัพธ์จะเป็นดังนี้:

  รหัสแสดงการรวมด้านซ้ายใน Python's dataframes

2. เข้าร่วมขวา

การรวมทางขวาจะรักษาค่าของ DataFrame ที่สองไว้เหมือนเดิม ในขณะที่นำค่าที่ตรงกันจากตารางแรกเข้ามา ตัวอย่างเช่น หากคุณต้องการนำค่าที่ตรงกันจาก เอ คุณสามารถกำหนดได้ดังนี้:

c = b.join(a, how="right", lsuffix = "_right", rsuffix = "_left", sort = True) 
print(c)

ผลลัพธ์จะเป็นดังนี้:

  รหัสแสดงการเข้าร่วมที่ถูกต้องใน Python's dataframes

หากคุณตรวจสอบโค้ด จะมีการเปลี่ยนแปลงที่ชัดเจนบางประการ ตัวอย่างเช่น ผลลัพธ์จะรวมคอลัมน์ของ DataFrame ที่สองก่อนคอลัมน์จาก DataFrame แรก

คุณควรใช้ค่าของ ขวา สำหรับ อย่างไร อาร์กิวเมนต์เพื่อระบุการเข้าร่วมที่ถูกต้อง นอกจากนี้ โปรดทราบว่าคุณสามารถเปลี่ยน lsuffix และ คำต่อท้าย ค่านิยมเพื่อสะท้อนถึงลักษณะของการเข้าร่วมที่ถูกต้อง

ในการเข้าร่วมปกติของคุณ คุณอาจพบว่าตัวเองใช้การรวมด้านซ้าย ด้านใน และด้านนอกบ่อยกว่า เมื่อเทียบกับการรวมด้านขวา อย่างไรก็ตาม การใช้งานขึ้นอยู่กับความต้องการข้อมูลของคุณทั้งหมด

3. เข้าร่วมภายใน

การรวมภายในส่งรายการที่ตรงกันจากทั้ง DataFrames เนื่องจากการรวมใช้หมายเลขดัชนีเพื่อจับคู่แถว การรวมภายในจึงส่งคืนเฉพาะแถวที่ตรงกัน สำหรับภาพประกอบนี้ ลองใช้ DataFrames สองตัวต่อไปนี้:

วิธีใดจะเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการจัดเก็บไฟล์ในคอมพิวเตอร์ของคุณ
a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"], 
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber", "Hooper", "Hope"]})
b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(a)
print(b)

ผลลัพธ์จะเป็นดังนี้:

  สร้างดาต้าเฟรมใหม่ใน Python

คุณสามารถใช้ inner join ได้ดังนี้:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='inner') 
print(c)

ผลลัพธ์ที่ได้จะมีเฉพาะแถวที่มีอยู่ใน DataFrames ทั้งสองอินพุต:

  รหัสแสดงการเข้าร่วมภายในใน Python's dataframes

4. เข้าร่วมด้านนอก

การรวมภายนอกส่งกลับค่าทั้งหมดจากทั้ง DataFrames สำหรับแถวที่ไม่มีค่าที่ตรงกัน จะสร้างค่า Null ในแต่ละเซลล์

ใช้ DataFrame เดียวกันกับด้านบน นี่คือรหัสสำหรับการเข้าร่วมภายนอก:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer') 
print(c)
  รหัสแสดงการรวมภายนอกใน Python's dataframes

การใช้การรวมใน Python

การรวม เช่นเดียวกับฟังก์ชันคู่กัน การผสานและการเชื่อมต่อ ให้มากกว่าฟังก์ชันการเข้าร่วมแบบธรรมดา ด้วยชุดตัวเลือกและฟังก์ชันต่างๆ คุณสามารถเลือกตัวเลือกที่ตรงกับความต้องการของคุณได้

คุณสามารถจัดเรียงชุดข้อมูลที่ได้ค่อนข้างง่าย ไม่ว่าจะมีหรือไม่มีฟังก์ชันการรวมก็ตาม ด้วยตัวเลือกที่ยืดหยุ่นที่ Python นำเสนอ