pandas.concat() function in Python (original) (raw)

Last Updated : 01 Dec, 2023

The pandas.concat() function does all the heavy lifting of performing concatenation operations along with an axis of Pandas objects while performing optional set logic (union or intersection) of the indexes (if any) on the other axes.

Pandas concat() function Syntax

**Syntax: concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)

**Parameters:

**Returns: type of objs (Series of DataFrame)

**Concatenate Using Pandas with Examples

**Example 1: Concatenate DataFrames in Python

In this example, we are concatenating two series with default parameters in Pandas.

Python3

import pandas as pd

series1 = pd.Series([ 1 , 2 , 3 ])

display( 'series1:' , series1)

series2 = pd.Series([ 'A' , 'B' , 'C' ])

display( 'series2:' , series2)

display( 'After concatenating:' )

display(pd.concat([series1, series2]))

**Output

Pandas concat() function

**Example 2: Pandas combining two dataframes horizontally with index = 1

In this example, we create two Pandas Series (series1 and series2), and then concatenates them along the columns (axis=1) using pd.concat(). The resulting DataFrame contains both Series as columns, creating a new DataFrame with two columns.

Python3

import pandas as pd

series1 = pd.Series([ 1 , 2 , 3 ])

display( 'series1:' , series1)

series2 = pd.Series([ 'A' , 'B' , 'C' ])

display( 'series2:' , series2)

display( 'After concatenating:' )

display(pd.concat([series1, series2],

`` axis = 1 ))

**Output

Pandas concat() function

**Example 3: Concatenating 2 DataFrames and Assigning Keys

creates two DataFrames (df1 and df2), and concatenates them along with keys assigned to each DataFrame using pd.concat(). The resulting DataFrame has a hierarchical index with keys ‘key1’ and ‘key2’, distinguishing the origin of each set of data.

Python3

import pandas as pd

df1 = pd.DataFrame({ 'A' : [ 'A0' , 'A1' , 'A2' , 'A3' ],

`` 'B' : [ 'B0' , 'B1' , 'B2' , 'B3' ]})

display( 'df1:' , df1)

df2 = pd.DataFrame({ 'A' : [ 'A4' , 'A5' , 'A6' , 'A7' ],

`` 'B' : [ 'B4' , 'B5' , 'B6' , 'B7' ]})

display( 'df2:' , df2)

display( 'After concatenating:' )

display(pd.concat([df1, df2],

`` keys = [ 'key1' , 'key2' ]))

**Output

Pandas concat() function

**Example 4: Concatenating DataFrames horizontally in Pandas with axis = 1

creates two DataFrames (df1 and df2), and concatenates them along the columns (axis=1) using pd.concat(). The resulting DataFrame combines columns from both df1 and df2, aligning them side by side****.**

Python3

import pandas as pd

df1 = pd.DataFrame({ 'A' : [ 'A0' , 'A1' , 'A2' , 'A3' ],

`` 'B' : [ 'B0' , 'B1' , 'B2' , 'B3' ]})

display( 'df1:' , df1)

df2 = pd.DataFrame({ 'C' : [ 'C0' , 'C1' , 'C2' , 'C3' ],

`` 'D' : [ 'D0' , 'D1' , 'D2' , 'D3' ]})

display( 'df2:' , df2)

display( 'After concatenating:' )

display(pd.concat([df1, df2],

`` axis = 1 ))

**Output

Pandas concat() function

**Example 5: Concatenating 2 DataFrames with ignore_index = True

creates two DataFrames (df1 and df2) with identical columns, and concatenates them vertically using pd.concat() with ignore_index=True. The resulting DataFrame has a continuous index, ignoring the original indices of df1 and df2.

Python3

import pandas as pd

df1 = pd.DataFrame({ 'A' : [ 'A0' , 'A1' , 'A2' , 'A3' ],

`` 'B' : [ 'B0' , 'B1' , 'B2' , 'B3' ]})

display( 'df1:' , df1)

df2 = pd.DataFrame({ 'A' : [ 'A4' , 'A5' , 'A6' , 'A7' ],

`` 'B' : [ 'B4' , 'B5' , 'B6' , 'B7' ]})

display( 'df2:' , df2)

display( 'After concatenating:' )

display(pd.concat([df1, df2],

`` ignore_index = True ))

**Output

Pandas concat() function

**Example 6: Concatenating a DataFrame with a Series

creates a DataFrame (df) and a Series (series), then concatenates them along the columns (axis=1) using pd.concat(). The resulting DataFrame combines the columns from df and the Series, aligning them side by side. Note: There’s a typo in the display statement (df1 instead of df).

Python3

import pandas as pd

df = pd.DataFrame({ 'A' : [ 'A0' , 'A1' , 'A2' , 'A3' ],

`` 'B' : [ 'B0' , 'B1' , 'B2' , 'B3' ]})

display( 'df:' , df1)

series = pd.Series([ 1 , 2 , 3 , 4 ])

display( 'series:' , series)

display( 'After concatenating:' )

display(pd.concat([df, series],

`` axis = 1 ))

**Output

Pandas concat() function