combine vs join vs merge

Soogyung Gwon·2026년 2월 2일

구름을잡아라

목록 보기
11/73

merge - 컬럼 기준으로 합칠 때 (SQL JOIN)
join - index 기준으로 합칠 때
combine - 같은 구조인데 값을 채울 때

Q1. 기준이 컬럼인가?
└─ YES → merge
└─ NO → Q2

Q2. 기준이 index인가?
└─ YES → join
└─ NO → merge

Q3. 구조가 같고 값만 보완?
└─ YES → combine

  • merge: “공통 컬럼으로 테이블 합친다”
  • join: “index 기준으로 옆에 붙인다”
  • 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'))

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글