데이터 분석에서 다양한 소스의 데이터를 결합하는 것은 깊은 통찰력을 얻기 위해 중요한 단계입니다. 이 글에서는 데이터 결합의 주요 방법들인 Outer Join, Inner Join, Left Join, Union, 및 Cross Join에 대해 설명하고, 구체적인 예시를 통해 각 방법을 이해해 보겠습니다.
데이터셋 준비
두 데이터셋 A와 B를 다음과 같이 가정합니다.
데이터셋 A:
| ID | Name |
|----|----------|
| 1 | Alice |
| 2 | Bob |
| 4 | Charlie |
데이터셋 B:
| ID | Salary |
|----|----------|
| 2 | 50000 |
| 3 | 60000 |
| 4 | 55000 |
1. Outer Join (Full Outer Join)
Outer Join은 두 데이터셋의 모든 행을 포함하며, 일치하는 열이 없는 경우 해당 위치에 NULL 값을 삽입합니다.
결과:
| ID | Name | Salary |
|----|----------|----------|
| 1 | Alice | NULL |
| 2 | Bob | 50000 |
| 4 | Charlie | 55000 |
| 3 | NULL | 60000 |
2. Inner Join
Inner Join은 두 데이터셋에서 일치하는 행만을 반환합니다.
결과:
| ID | Name | Salary |
|----|----------|----------|
| 2 | Bob | 50000 |
| 4 | Charlie | 55000 |
3. Left Join
Left Join은 왼쪽 데이터셋(A)의 모든 행과 해당 데이터셋과 일치하는 오른쪽 데이터셋(B)의 행을 포함합니다.
결과:
| ID | Name | Salary |
|----|----------|----------|
| 1 | Alice | NULL |
| 2 | Bob | 50000 |
| 4 | Charlie | 55000 |
4. Right Join
Right Join은 오른쪽 데이터셋(B)의 모든 행과 해당 데이터셋과 일치하는 왼쪽 데이터셋(A)의 행을 포함합니다. 일치하는 왼쪽 데이터셋의 행이 없는 경우에는 NULL 값을 사용하여 결과를 채웁니다.
| ID | Name | Salary |
|----|----------|----------|
| 2 | Bob | 50000 |
| 3 | NULL | 60000 |
| 4 | Charlie | 55000 |
5. Union
Union은 두 데이터셋의 모든 행을 결합하지만 중복을 제거합니다. 각 데이터셋에서 열 구성이 동일해야 합니다.
결과 (ID와 Name 열을 기준으로):
| ID | Name |
|----|----------|
| 1 | Alice |
| 2 | Bob |
| 4 | Charlie |
| 3 | NULL | // 데이터셋 B에는 Name 열이 없으므로 NULL 처리
6. Cross Join
Cross Join은 두 데이터셋의 모든 가능한 조합을 반환합니다.
결과:
| A.ID | A.Name | B.ID | B.Salary |
|------|----------|------|----------|
| 1 | Alice | 2 | 50000 |
| 1 | Alice | 3 | 60000 |
| 1 | Alice | 4 | 55000 |
| 2 | Bob | 2 | 50000 |
| 2 | Bob | 3 | 60000 |
| 2 | Bob | 4 | 55000 |
| 4 | Charlie | 2 | 50000 |
| 4 | Charlie | 3 | 60000 |
| 4 | Charlie | 4 | 55000 |
이렇게 각 데이터 결합 방법을 구체적인 예와 함께 살펴보았습니다. 각각의 방법은 데이터 분석의 목적과 필요에 따라 선택하여 사용할 수 있습니다. 데이터 결합은 분석의 다양성과 깊이를 더해주며, 복잡한 데이터셋에서도 유의미한 인사이트를 도출할 수 있게 도와줍니다.
'EDA' 카테고리의 다른 글
7. 데이터 선택 (0) | 2024.05.05 |
---|---|
6. 데이터 변환 (0) | 2024.05.05 |
4. 데이터 전처리의 중요성과 기본 단계 (0) | 2024.05.05 |
3. 데이터 수집과 정제 과정 (0) | 2024.05.05 |
2. 데이터 유형 및 관리 전략 (0) | 2024.05.05 |