To do three-way joining multiple dataframes on columns with Python Pandas, we call the reduce
method.
For instance, we write
import pandas as pd
from functools import reduce
dfs = [df0, df1, df2, dfN]
df_final = reduce(lambda left,right: pd.merge(left,right,on='name'), dfs)
to call reduce
with a lanbda that merges 2 data frames in the dfs
list with the pd.merge
method.
We merge them on the name
column values.
And we set the initial value of df_final
to dfs
.