Computer >> Máy Tính >  >> Lập trình >> Python

Python - Hợp nhất Pandas DataFrame với Outer Join

Để hợp nhất Pandas DataFrame, hãy sử dụng hàm merge (). Kết nối bên ngoài được triển khai trên cả DataFrames bằng cách đặt trong tham số “how” của hàm merge (), tức là -

how = “outer”

Đầu tiên, hãy nhập thư viện gấu trúc với bí danh -

import pandas as pd

Hãy để chúng tôi tạo DataFrame1 -

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

Bây giờ chúng ta hãy tạo DataFrame2 -

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

   }
)

Hợp nhất DataFrames với một cột chung Xe và "bên ngoài" trong tham số "cách" triển khai Tham gia bên ngoài -

mergedRes = pd.merge(dataFrame1, dataFrame2, on ='Car', how ="outer")

Ví dụ

Sau đây là mã -

import pandas as pd

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

print"DataFrame1 ...\n",dataFrame1

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

   }
)

print"\nDataFrame2 ...\n",dataFrame2

# merge DataFrames with common column Car and "outer" in "how" parameter implements Outer Join
mergedRes = pd.merge(dataFrame1, dataFrame2, on ='Car', how ="outer")
print"\nMerged dataframe with outer join...\n", mergedRes

Đầu ra

Điều này sẽ tạo ra kết quả sau -

DataFrame1 ...
       Car   Units
0      BMW     100
1    Lexus     150
2     Audi     110
3  Mustang      80
4  Bentley     110
5   Jaguar      90

DataFrame2 ...
        Car Reg_Price
0       BMW      7000
1     Lexus      1500
2     Tesla      5000
3   Mustang      8000
4  Mercedes      9000
5    Jaguar      6000

Merged dataframe with outer join...
        Car   Units  Reg_Price
0       BMW   100.0     7000.0
1     Lexus   150.0     1500.0
2      Audi   110.0        NaN
3   Mustang   80.0      8000.0
4   Bentley   110.0        NaN
5    Jaguar   90.0      6000.0
6     Tesla   NaN       5000.0
7  Mercedes   NaN       9000.0