Merge Two pandas DataFrames in Python (6 Examples) | Inner, Outer, Left & Right Join | Combine Data

preview_player
Показать описание
Python code of this video:

import pandas as pd # Import pandas

data1 = pd.DataFrame({"ID":range(101, 106), # Create first pandas DataFrame
"x1":range(1, 6),
"x2":["a", "b", "c", "d", "e"],
"x3":range(16, 11, - 1)})
print(data1) # Print first pandas DataFrame

data2 = pd.DataFrame({"ID":range(104, 108), # Create second pandas DataFrame
"y1":["x", "y", "x", "y"],
"y2":range(8, 1, - 2)})
print(data2) # Print second pandas DataFrame

data2,
on = "ID",
how = "inner")
print(data_inner) # Print merged DataFrame

data2,
on = "ID",
how = "outer")
print(data_outer) # Print merged DataFrame

data2,
on = "ID",
how = "left")
print(data_left) # Print merged DataFrame

data2,
on = "ID",
how = "right")
print(data_right) # Print merged DataFrame

data3 = pd.DataFrame({"ID":range(102, 110), # Create third pandas DataFrame
"z1":range(10, 18),
"z2":["z", "b", "z", "z", "d", "z", "d", "a"],
"z3":range(18, 10, - 1)})
print(data3) # Print third pandas DataFrame

from functools import reduce

data_multi = reduce(lambda left, right: # Merge three pandas DataFrames
on = ["ID"],
how = "outer"),
[data1, data2, data3])
print(data_multi) # Print merged DataFrame

data4 = pd.DataFrame({"a1":["yes", "no", "no", "yes", "yes"], # Create fourth pandas DataFrame
"a2":range(15, 20)},
index = list("abcde"))
print(data4) # Print fourth pandas DataFrame

data5 = pd.DataFrame({"b1":range(10, 5, - 1), # Create fifth pandas DataFrame
"b2":["b", "bb", "b", "bbb", "b"],
"b3":range(10, 1, - 2)},
index = list("cdefg"))
print(data5) # Print fifth pandas DataFrame

data5,
left_index = True,
right_index = True,
how = "outer")
print(data_index) # Print merged DataFrame

Follow me on Social Media:

Рекомендации по теме
Комментарии
Автор

nice video! your playlis save my life! love you! <3

NoobsOperations
Автор

Hi Joachim, thank you so much for these helpful videos! I have been able to compare source and target frames using your video. I want to add 2 lines at the end of the merged dataframe which will show row count of source and row count of target frame in addition to the data differences between these frames. This will act like a reconciliation report. Can you please help on how to achieve that.

durgarasane-kolapkar