Tutorials References Menu

Pandas DataFrame merge() Method

❮ DataFrame Reference


Example

Update the content of one DataFrame with the content from another DataFrame:

import pandas as pd

data1 = {
  "name": ["Sally", "Mary", "John"],
  "age": [50, 40, 30]
}

data2 = {
  "name": ["Sally", "Peter", "Micky"],
  "age": [77, 44, 22]
}

df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

newdf = df1.merge(df2, how='right')
Try it Yourself »

Definition and Usage

The merge() method updates the content of two DataFrame by merging them together, using the specified method(s).

Use the parameters to control which values to keep and which to replace.


Syntax

dataframe.merge(right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)

Parameters

All parameters except right, are keyword arguments.

Parameter Value Description
right   Required. A DataFrame, a Series to merge with
how 'left'
'right'
'outer'
'inner'
'cross'
Optional. Default 'inner'. Specifies how to merge
on String
List
Optional. Specifies in what level to do the merging
left_on String
List
Optional. Specifies in what level to do the merging on the DataFrame to the left
right_on String
List
Optional. Specifies in what level to do the merging on the DataFrame to the right
left_index True
False
Optional. Default False. Whether to use the index from the left DataFrame as join key or not
right_index True
False
Optional. Default False. Whether to use the index from the right DataFrame as join key or not
sort True
False
Optional. Default False. Specifies whether to sort the DataFrame by the join key or not
suffixes List Optional. Default '_x', '_y''. Specifies a list of strings to add for overlapping columns
copy True
False
Optional. Default True. Specifies whether to keep copies or not
indicator True
False

String
Optional. Default False. Specifies whether to add a column in the DataFrame with information about the source of each row
validate String Optional. Checks if the mergin is of a specified type

Return Value

A new DataFrame, with the merged result.

This method does not change the original DataFrame.


❮ DataFrame Reference