Open In App
Related Articles

How to Merge DataFrames of different length in Pandas ?

Improve Article
Improve
Save Article
Save
Like Article
Like

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:


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 28 Apr, 2021
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials