💡 merge() 함수는 데이터프레임을 병합하는 pandas의 함수이다.
import pandas
df = pandas.merge(df1, df2, on = '기준열', how='join 방식')
✔️ on
✔️ left_on, right_on
✔️ left_index, right_index
✔️ how
✔️ left
기준열에 대하여 왼쪽 데이터프레임을 기준으로 조인한다.
오른쪽 데이터프레임의 값 중 왼쪽 데이터프레임에 없는 값은 반영되지 않으며, 왼쪽 데이터프레임의 값 중 오른쪽 데이터프레임에 없는 값은 NaN으로 표시된다.
✔️ right
기준열에 대하여 오른쪽 데이터프레임을 기준으로 조인한다.
왼쪽 데이터프레임의 값 중 오른쪽 데이터프레임에 없는 값은 반영되지 않으며, 오른쪽 데이터프레임의 값 중 왼쪽 데이터프레임에 없는 값은 NaN으로 표시된다.
✔️ inner
기준열에 대하여 양쪽에 공통으로 있는 데이터만 반영한다.
✔️ outer
기준열에 대하여 두 데이터프레임의 모든 값이 나타나도록 한다. 데이터프레임에 없는 값들은 NaN으로 표현된다.
pd.merge(df1, df2, on = ['col1', 'col2'])
두 데이터프레임의 열 이름이 다를 때,
각각 left_on = '왼쪽 열', right_on = '오른쪽 열'로 지정한다.pd.merge(df1, df2, left_on = '왼쪽 열', right_on = '오른쪽 열')
df8 = pandas.DataFrame({'A':['a1','a2','a3'],'B1':['b1','b2','b3']}, index = ['i1','i2','i3']) df9 = pandas.DataFrame({'B2':['b1','b2','b3'],'C':['c1','c2','c3'], 'I':['i2','i3','i4']})
df8의 인덱스와 df9의 칼럼 I를 기준열로 사용하여 outer 조인
pandas.merge(df8, df9, left_index=True, right_on='I', how='outer')