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

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

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

how = “right”

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

import pandas as pd

Tạo hai khung dữ liệu để được hợp nhất -

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

# Create 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 cột chung Xe và "phải" trong tham số "cách" triển khai Kết nối bên ngoài bên phải -

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

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 "right" in "how" parameter implements Right Outer Join
mergedRes = pd.merge(dataFrame1, dataFrame2, on ='Car', how ="right")
print"\nMerged dataframe with right 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 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