import pandas as pd
from functools import reduce
# compile the list of dataframes you want to merge
data_frames = [df1, df2, df3]
df_merged = reduce(lambda left,right: pd.merge(left,right,on=['key_col'],
how='outer'), data_frames)
# Stack the DataFrames on top of each other
vertical_stack = pd.concat([survey_sub, survey_sub_last10], axis=0)
# Place the DataFrames side by side
horizontal_stack = pd.concat([survey_sub, survey_sub_last10], axis=1)
# Merging 3 or more dataframes base on a common column
import pandas as pd
from functools import reduce
#Create a list of df to combine
list_of_df = [df_1,df_2,df_3]
#merge them together
df_combined = reduce(lambda left,right: pd.merge(left,right,on='common column'), list_of_df)