How to join two DataFrames by index with Pandas using Python

1 min

The best way to join two DataFrame is by using the DataFrame.join() method.

Without specifying anything you will join the two DataFrames together by index.

You can specify the column on which you want your DataFrames to be joined together by passing the "on" parameter to the method.

Your DataFrames columns cannot have the same name otherwise Python will throw an error.

If your DataFrames have similar column names you will have to add a suffix with "rsuffix" parameter.

Here is the code

# How to join a DataFrame by index using Pandas with Python
# To work with dataframes
import pandas as pd

# To generate data
import numpy as np

# We create a common index that we will need to join the two 
# DataFrames together
dates = pd.date_range(start="2021-01-01", end="2021-12-31")

# We create our first sample dataframe
df_sales = pd.DataFrame(index=dates, 
	data={"sales": np.abs(np.random.normal(2500, 2000, len(dates)))})

# We create our second sample dataframe
df_cogs = pd.DataFrame(index=dates, 
    data={"cogs": np.abs(np.random.normal(1100, 1000, len(dates)))})

# We join the second DataFrame to the first DataFrame.
df_combined = df_sales.join(df_cogs)

# We print the combined DataFrame 
print(df_combined)
How to join two DataFrame together

Here you are! You now know how to join two DataFrames by index with Pandas using Python.

More on DataFrames

If you want to know more about DataFrame and Pandas. Check out the other articles I wrote on the topic, just here :

Pandas - The Python You Need
We gathered the only Python essentials that you will probably ever need.