merge - 컬럼 기준으로 합칠 때 (SQL JOIN)
join - index 기준으로 합칠 때
combine - 같은 구조인데 값을 채울 때
Q1. 기준이 컬럼인가?
└─ YES → merge
└─ NO → Q2
Q2. 기준이 index인가?
└─ YES → join
└─ NO → merge
Q3. 구조가 같고 값만 보완?
└─ YES → combine
여러 예제들을 위키독스(https://wikidocs.net/153670)를 따라 쭉 해보는 과정에서, 간단한 예제로 보여줌에도 불구하고 종류가 많아서 헷깔리는 부분이 많았다. 그래서 위쪽에 언제 어떤 것을 쓰는지 정리해 보았다.
merge 사용 시, 처음에는 양쪽 다 index True인 예제를 하다가 한쪽을 False로 해 봤더니 에러가 났다. 그 다음 예제를 보니 on을 쓰면 되는 거였다.
print(df3.merge(df4, left_index=True, right_index=True))
merge의 validate 사용 시 m:1의 의미를 잘 몰라서 찾아본 결과 many임을 알게되었다.
print(df7.merge(df8,how='outer',on='IDX',validate='m:1'))