วิธีเข้าร่วมซ้ายใน pandas (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อดำเนินการรวมด้านซ้ายในแพนด้า:
import pandas as pd df1. merge (df2, on=' column_name ', how=' left ')
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีการรวมซ้ายใน Pandas
สมมติว่าเรามี DataFrames แพนด้าสองตัวต่อไปนี้ซึ่งมีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28]}) df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'G', 'H'], ' assists ': [4, 9, 14, 13, 10, 8]}) #view DataFrames print (df1) team points 0 to 18 1 B 22 2 C 19 3 D 14 4 E 14 5 F 11 6 G 20 7:28 a.m. print (df2) team assists 0 to 4 1 B 9 2 C 14 3 D 13 4G 10 5:8 a.m.
เราสามารถใช้โค้ดต่อไปนี้เพื่อดำเนินการรวมด้านซ้าย โดยเก็บแถวทั้งหมดจาก DataFrame แรก และเพิ่มคอลัมน์ทั้งหมดที่ตรงกันตามคอลัมน์ ทีม ใน DataFrame ที่สอง:
#perform left join
df1. merge (df2, on=' team ', how=' left ')
team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0
แต่ละทีมใน DataFrame ด้านซ้าย ( df1 ) จะถูกส่งกลับใน DataFrame ที่ผสาน และมีเพียงแถวใน DataFrame ด้านขวา ( df2 ) ที่ตรงกับชื่อทีมใน DataFrame ด้านซ้ายเท่านั้นที่จะถูกส่งคืน
โปรดทราบว่าทั้งสองทีมใน df2 (ทีม E และ F) ที่ไม่ตรงกับชื่อทีมใน df1 เพียงส่งกลับค่า NaN ในคอลัมน์ช่วยเหลือของ DataFrame ที่รวมเข้าด้วยกัน
โปรดทราบว่าคุณยังสามารถใช้ pd.merge() กับไวยากรณ์ต่อไปนี้เพื่อแสดงผลลัพธ์ที่เหมือนกันทุกประการ:
#perform left join
p.d. merge (df1, df2, on=' team ', how=' left ')
team points assists
0 to 18 4.0
1 B 22 9.0
2 C 19 14.0
3 D 14 13.0
4 E 14 NaN
5 F 11 NaN
6G 20 10.0
7:28 a.m. 8.0
โปรดทราบว่า DataFrame ที่ผสานนี้ตรงกับตัวอย่างก่อนหน้า
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มเกี่ยวกับฟังก์ชัน ผสาน ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีการต่อต้านการเข้าร่วมใน Pandas
วิธีการเข้าร่วมภายในใน Pandas
วิธีดำเนินการ cross join ใน Pandas