Python - Merge Pandas DataFrame with Right Outer Join


To merge Pandas DataFrame, use the merge() function. The right outer join is implemented on both the DataFrames by setting under the “how” parameter of the merge() function i.e. −

how = “right”

At first, let us import the pandas library with an alias −

import pandas as pd

Create two dataframes to be merged −

# 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]
   }
)

Merge DataFrames with common column Car and "right" in "how" parameter implements Right Outer Join −

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

Example

Following is the code −

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

Output

This will produce the following output −

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

Updated on: 20-Sep-2021

385 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements