In [1]:
import pandas as pd

df_left = pd.DataFrame({'name': ['a0', 'a1', 'a2'],
                        'b': ['b0', 'b1', 'b2'],
                        'c': ['c0', 'c1', 'c2']})
df_left
Out[1]:
name b c
0 a0 b0 c0
1 a1 b1 c1
2 a2 b2 c2
In [2]:
df_right = pd.DataFrame({'member': ['a0', 'a1'],
                         'x': ['x0', 'x1'],
                         'y': ['y0', 'y1']})
df_right
Out[2]:
member x y
0 a0 x0 y0
1 a1 x1 y1
In [3]:
# inner 조인 : 두 테이블에 모두 있는 key에 대해서만 조인
pd.merge(df_left, df_right, how='inner', left_on='name', right_on='member')
Out[3]:
name b c member x y
0 a0 b0 c0 a0 x0 y0
1 a1 b1 c1 a1 x1 y1
In [4]:
# left 조인 : 왼쪽 테이블의 행들은 모두 포함 (오른쪽 테이블에 없는 값은 NaN)
pd.merge(df_left, df_right, how='left', left_on='name', right_on='member')
Out[4]:
name b c member x y
0 a0 b0 c0 a0 x0 y0
1 a1 b1 c1 a1 x1 y1
2 a2 b2 c2 NaN NaN NaN