pandas concat two dataframes with different columns code example

Example 1: merge two dataframes based on column

df_outer = pd.merge(df1, df2, on='id', how='outer')

df_outer

Example 2: pandas concat two dataframes

# Concating Means putting frames on bottom of one another
#              ---   ---
#              |  df1  |
#              |  df2  |
# Concating => |   .   |
#              |   .   |
#              |  dfn  |
#              ---   ---
# Command : pd.concat([df1,df2,...,dfn])   ; df = a dataframe

				 	''':::Eaxmple;::'''
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3'],
                    'D': ['D0', 'D1', 'D2', 'D3']},
                     index=[0, 1, 2, 3])

df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
                    'B': ['B4', 'B5', 'B6', 'B7'],
                    'C': ['C4', 'C5', 'C6', 'C7'],
                    'D': ['D4', 'D5', 'D6', 'D7']},
                     index=[4, 5, 6, 7])

df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
                    'B': ['B8', 'B9', 'B10', 'B11'],
                    'C': ['C8', 'C9', 'C10', 'C11'],
                    'D': ['D8', 'D9', 'D10', 'D11']},
                     index=[8, 9, 10, 11])

frames = [df1, df2, df3]

result = pd.concat(frames)

# Note : use ignore_index=True if you need it in pd.concat

Example 3: merge two dataframes based on column

df_merge_col = pd.merge(df_row, df3, on='id')

df_merge_col