In this article, we will discuss how to merge the two dataframes with different lengths in Pandas. It can be done using the merge() method.
Syntax:
DataFrame.merge(parameters)
Below are some examples that depict how to merge data frames of different lengths using the above method:
Example 1:
Below is a program to merge two student data frames of different lengths.
Python3
# importing pandas module import pandas as pd
# create a list that contains # student id of subject 1 list1 = [ 7058 , 7059 , 7075 , 7076 ]
# create a list that contains # student id of subject 2 list2 = [ 7058 , 7059 , 7012 , 7075 , 7076 ]
# create a list that contains # student names of subject 1 list11 = [ "Sravan" , "Jyothika" , "Deepika" ,
"Kyathi" ]
# create a list that contains # student names of subject 2 list22 = [ "Sravan" , "Jyothika" , "Salma" ,
"Deepika" , "Kyathi" ]
# pass list1 and list11 to the # dataframe1 dataframe1 = pd.DataFrame(
{ "Student ID" : list1, "Student Name" : list11})
print ( 'First data frame:' )
display(dataframe1) # pass list2 and list22 to the # dataframe1 dataframe2 = pd.DataFrame(
{ "Student ID" : list2, "Student Name" : list22})
print ( 'Second data frame:' )
display(dataframe2) # apply merge function to merge the # two dataframes mergedf = dataframe2.merge(dataframe1, how = 'left' )
print ( 'Merged data frame:' )
display(mergedf) |
Output:
Example 2:
Here is another program to merge one data frame of length 4 and another dataframe of length 9.
Python3
# importing pandas module import pandas as pd
# create a list that contains # student id of subject 1 list1 = [ 7058 , 7059 , 7075 , 7076 ]
# create a list that contains # student id of subject 2 list2 = [ 7058 , 7059 , 7012 , 7075 , 7076 ,
7034 , 7046 , 7036 , 7015 ]
# create a list that contains # student names of subject 1 list11 = [ "Sravan" , "Jyothika" , "Deepika" ,
"Kyathi" ]
# create a list that contains # student names of subject 2 list22 = [ "Sravan" , "Jyothika" , "salma" ,
"Deepika" , "Kyathi" , "meghana" ,
"pranathi" , "bhanu" , "keshav" ]
# pass list1 and list11 to the # dataframe1 dataframe1 = pd.DataFrame(
{ "Student ID" : list1, "Student Name" : list11})
print ( 'First data frame:' )
display(dataframe1) # pass list2 and list22 to the # dataframe1 dataframe2 = pd.DataFrame(
{ "Student ID" : list2, "Student Name" : list22})
print ( 'Second data frame:' )
display(dataframe2) # apply merge function to merge # the two dataframes mergedf = dataframe2.merge(dataframe1, how = 'inner' )
print ( 'Merged data frame:' )
display(mergedf) |
Output: