판다스 사용법: 조인(join)을 쉽게 이해하고 활용하는 방법은?
pandas merge(): 공통 열 또는 인덱스를 기준으로 데이터 결합하기
pandas의 merge()
는 데이터를 결합하는 기능이 있는 함수로, 데이터를 분석하며 데이터를 통합하고 이해하기 더 쉽게 할 수 있게 도와줍니다.
이 튜토리얼에서는 다음과 같은 방법으로 pandas를 사용하여 데이터를 결합하는 방법을 학습합니다:
- 공통 열 또는 인덱스를 기준으로 데이터를 결합하는 경우:
merge()
- 키 컬럼 또는 인덱스를 기준으로 데이터를 결합하는 경우:
.join()
- 행 또는 열을 기준으로 DataFrame을 결합하는 경우:
concat()
이 튜토리얼의 예제를 실행하며 실제로 사용할 수 있는 대화형 Jupyter Notebook과 데이터 파일은 아래 링크에서 다운로드 받을 수 있습니다:
참고: 아래에서 배울 기술은 일반적으로 DataFrame
과 Series
객체 모두에 적용됩니다. 그러나 간단하고 간결하게 설명하기 위해 예제에서는 DataFrame
또는 Series
객체를 데이터셋이라고 표현할 것입니다.
pandas merge()
: 공통 열 또는 인덱스를 기준으로 데이터 결합하기
먼저 알아볼 기능은 merge()
함수입니다. merge()
를 사용하면 데이터베이스의 조인 작업과 유사한 기능을 수행할 수 있습니다. 이 튜토리얼에서 알아볼 세 가지 작업 중 가장 유연한 기능입니다.
하나 이상의 키를 기준으로 데이터 개체를 결합하고자 할 때, 즉 관계형 데이터베이스에서 수행하는 작업과 유사한 작업을 수행하고자 할 때 merge()
함수를 사용합니다. 보다 구체적으로는, merge()
함수는 공유 데이터를 기준으로 데이터를 결합하고자 할 때 가장 유용합니다.
merge()
를 사용하면 일대다 및 다대다 조인 모두를 수행할 수 있습니다. 일대다 조인에서 하나의 데이터셋의 결합 열은 같은 값을 반복하는 많은 행을 가지고 있을 수 있습니다. 예를 들어, 값이 1, 1, 3, 5, 5일 수 있습니다. 동시에 다른 데이터셋의 결합 열에 중복된 값이 없습니다. 예를 들어, 1, 3, 5입니다.
예상하실 수 있듯이, 다대다 조인에서는 두 결합 열이 모두 중복된 값을 가지고 있습니다. 이러한 조인은 더 복잡하며 결합된 행의 카테시안 곱을 결과로 생성합니다.
즉, 조인을 수행한 후에는 키 열의 같은 값을 공유하는 모든 행의 조합을 얻을 수 있습니다.
이제부터는 예제와 함께 실제 실행 가능한 단계별 상세한 코드, 설명을 포함하도록 하겠습니다.