To join 2 data frame into a single

left= pd.io.sql.read_sql('select 1 as col1, \'left1\' as col2 union all select 2, \'left2\'', conn)
right= pd.io.sql.read_sql('select 2 as col1, \'right2\' as col2 union all select 3, \'right2\'', conn)

combined=pd.merge(left, right, on=('col1'),how='left')

Data for left data frame

Data for right data frame

Combined both data frame, take note that one of the joining column is removed.

To combine multiple dataframe

both=[left,right]

vertical=pd.concat(both, axis=0)

horizontal=pd.concat(both, axis=1) <-- only work on same amount of rows

Result (both=[left,right])

Result (vertical=pd.concat(both, axis=0)

horizontal=pd.concat(both, axis=1)