Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - รวม Pandas DataFrame ด้วย Right Outer Join

ใช้ pd.merge() กับ how="right" เพื่อ Right Outer Join: เก็บแถวทั้งหมดจาก DataFrame ขวา (Right) จับคู่กับซ้าย

ตัวอย่างโค้ด

import pandas as pd

dataFrame1 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
    "Units": [100, 150, 110, 80, 110, 90]
})

dataFrame2 = pd.DataFrame({
    "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'],
    "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
})

mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car', how="right")
print("Merged dataframe with right outer join...")
print(mergedRes)

ผลลัพธ์

Merged dataframe with right outer join...
     Car  Units  Reg_Price
0    BMW  100.0       7000
1  Lexus  150.0       1500
2 Mustang   80.0       8000
3  Jaguar  90.0       6000
4  Tesla    NaN       5000
5 Mercedes   NaN       9000

คำอธิบาย

  • Right Join: เก็บทุกแถวจาก df2 (Right)
  • รถที่อยู่ใน df2 แต่ไม่อยู่ใน df1 (Tesla, Mercedes) จะมี Units = NaN
  • รถที่อยู่ใน df1 แต่ไม่อยู่ใน df2 (Audi, Bentley) จะหายไป