Skip to content

Open In Colab

Display Pandas DataFrames Side by Side

import pandas as pd
import numpy as np
from IPython.display import display_html

HTML Function for Displaying Side by Side

def display_side_by_side(*args):
    html_str = ''
    for df in args:
        html_str += df.to_html()
    display_html(
        html_str.replace('table','table style="display:inline"'), 
        raw=True
    )

Create Test DataFrames

df1 = pd.DataFrame({
    'date': pd.date_range('2021-01-01', '2021-01-07'),
    'sales': np.random.rand(7)*1000
})
display(df1)
date sales
0 2021-01-01 803.253221
1 2021-01-02 607.459442
2 2021-01-03 185.055407
3 2021-01-04 467.982851
4 2021-01-05 839.568587
5 2021-01-06 183.600942
6 2021-01-07 445.642795
df2 = pd.DataFrame({
    'date': pd.date_range('2021-02-01', '2021-02-07'),
    'sales': np.random.rand(7)*1000
})
display(df2)
date sales
0 2021-02-01 797.061620
1 2021-02-02 922.325911
2 2021-02-03 339.492579
3 2021-02-04 951.633029
4 2021-02-05 361.748705
5 2021-02-06 323.575210
6 2021-02-07 761.153420

Display Side by Side

display_side_by_side(df1, df2)
date sales
0 2021-01-01 803.253221
1 2021-01-02 607.459442
2 2021-01-03 185.055407
3 2021-01-04 467.982851
4 2021-01-05 839.568587
5 2021-01-06 183.600942
6 2021-01-07 445.642795
date sales
0 2021-02-01 797.061620
1 2021-02-02 922.325911
2 2021-02-03 339.492579
3 2021-02-04 951.633029
4 2021-02-05 361.748705
5 2021-02-06 323.575210
6 2021-02-07 761.153420