콘텐츠로 건너뛰기

판다스 사용법: 조인(join)을 쉽게 이해하고 활용하는 방법은?

[

pandas merge(): 공통 열 또는 인덱스를 기준으로 데이터 결합하기

pandas의 merge()는 데이터를 결합하는 기능이 있는 함수로, 데이터를 분석하며 데이터를 통합하고 이해하기 더 쉽게 할 수 있게 도와줍니다.

이 튜토리얼에서는 다음과 같은 방법으로 pandas를 사용하여 데이터를 결합하는 방법을 학습합니다:

  • 공통 열 또는 인덱스를 기준으로 데이터를 결합하는 경우: merge()
  • 키 컬럼 또는 인덱스를 기준으로 데이터를 결합하는 경우: .join()
  • 행 또는 열을 기준으로 DataFrame을 결합하는 경우: concat()

이 튜토리얼의 예제를 실행하며 실제로 사용할 수 있는 대화형 Jupyter Notebook과 데이터 파일은 아래 링크에서 다운로드 받을 수 있습니다:

참고: 아래에서 배울 기술은 일반적으로 DataFrameSeries 객체 모두에 적용됩니다. 그러나 간단하고 간결하게 설명하기 위해 예제에서는 DataFrame 또는 Series 객체를 데이터셋이라고 표현할 것입니다.

pandas merge(): 공통 열 또는 인덱스를 기준으로 데이터 결합하기

먼저 알아볼 기능은 merge() 함수입니다. merge()를 사용하면 데이터베이스의 조인 작업과 유사한 기능을 수행할 수 있습니다. 이 튜토리얼에서 알아볼 세 가지 작업 중 가장 유연한 기능입니다.

하나 이상의 키를 기준으로 데이터 개체를 결합하고자 할 때, 즉 관계형 데이터베이스에서 수행하는 작업과 유사한 작업을 수행하고자 할 때 merge() 함수를 사용합니다. 보다 구체적으로는, merge() 함수는 공유 데이터를 기준으로 데이터를 결합하고자 할 때 가장 유용합니다.

merge()를 사용하면 일대다다대다 조인 모두를 수행할 수 있습니다. 일대다 조인에서 하나의 데이터셋의 결합 열은 같은 값을 반복하는 많은 행을 가지고 있을 수 있습니다. 예를 들어, 값이 1, 1, 3, 5, 5일 수 있습니다. 동시에 다른 데이터셋의 결합 열에 중복된 값이 없습니다. 예를 들어, 1, 3, 5입니다.

예상하실 수 있듯이, 다대다 조인에서는 두 결합 열이 모두 중복된 값을 가지고 있습니다. 이러한 조인은 더 복잡하며 결합된 행의 카테시안 곱을 결과로 생성합니다.

즉, 조인을 수행한 후에는 키 열의 같은 값을 공유하는 모든 행의 조합을 얻을 수 있습니다.

이제부터는 예제와 함께 실제 실행 가능한 단계별 상세한 코드, 설명을 포함하도록 하겠습니다.