วิธีการเข้าร่วมภายนอกใน pandas (พร้อมตัวอย่าง)


การรวมภายนอก เป็นประเภทของการรวมที่ส่งคืนแถวทั้งหมดจาก DataFrames แพนด้าสองตัว

คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อดำเนินการรวมภายนอกในแพนด้า:

 import pandas as pd

df1. merge (df2, on=' some_column ', how=' outer ')

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: วิธีการรวมภายนอกใน 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', 'J', 'K'],
                    ' 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
4 D 10
5K 8

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

 #perform outer join
df1. merge (df2, on=' team ', how=' outer ')


        team points assists
0 to 18.0 4.0
1 B 22.0 9.0
2 C 19.0 14.0
3D 14.0 13.0
4 E 14.0 NaN
5 F 11.0 NaN
6G 20.0 NaN
7 H 28.0 NaN
8 J NaN 10.0
9K NaN 8.0

ผลลัพธ์ที่ได้คือ DataFrame ที่มีแถวทั้งหมดในแต่ละ DataFrame

โปรดทราบว่าค่า NaN ได้รับการเติมสำหรับแต่ละแถวโดยที่ไม่มีค่าคอลัมน์ ทีม ใน DataFrames ทั้งสอง

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มเกี่ยวกับฟังก์ชัน ผสาน ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:

วิธีการต่อต้านการเข้าร่วมใน Pandas
วิธีการเข้าร่วมภายในใน Pandas
วิธีดำเนินการ cross join ใน Pandas

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *