[Python] 25. merge 함수를 사용하여 특정 열의 값을 기준으로 데이터 병합하기

merge() 함수를 사용하여 특정 열의 값을 기준으로 데이터프레임을 병합하는 다양한 예제를 제공하겠습니다.


데이터프레임 예시

먼저, 다음과 같은 두 개의 데이터프레임을 예시로 사용하겠습니다

import pandas as pd

df1 = pd.DataFrame({'ID': [1, 2, 3],
                    'Name': ['Alice', 'Bob', 'Charlie']})

df2 = pd.DataFrame({'ID': [2, 3, 4],
                    'Age': [25, 30, 22]})

Inner Merge (내부 병합)

두 데이터프레임을 특정 열 ‘ID’의 값으로 내부 병합합니다. 내부 병합은 두 데이터프레임에 공통으로 존재하는 ‘ID’ 값만 병합합니다.

merged_inner = pd.merge(df1, df2, on='ID', how='inner')
print(merged_inner)

실행 결과

   ID     Name  Age
0   2      Bob   25
1   3  Charlie   30

Left Merge (왼쪽 병합)

왼쪽 데이터프레임 df1을 기준으로 병합합니다. ‘ID’ 값에 맞는 행이 없는 경우에는 NaN 값으로 채워집니다.

merged_left = pd.merge(df1, df2, on='ID', how='left')
print(merged_left)

실행 결과

   ID     Name   Age
0   1    Alice   NaN
1   2      Bob  25.0
2   3  Charlie  30.0

Right Merge (오른쪽 병합)

오른쪽 데이터프레임 df2를 기준으로 병합합니다. ‘ID’ 값에 맞는 행이 없는 경우에는 NaN 값으로 채워집니다.

merged_right = pd.merge(df1, df2, on='ID', how='right')
print(merged_right)

실행 결과

   ID     Name  Age
0   2      Bob   25
1   3  Charlie   30
2   4      NaN   22

Outer Merge (외부 병합)

두 데이터프레임을 외부 병합하여 모든 ‘ID’ 값을 포함합니다. 공통되지 않는 ‘ID’ 값의 경우에는 NaN 값으로 채워집니다.

merged_outer = pd.merge(df1, df2, on='ID', how='outer')
print(merged_outer)

실행 결과

   ID     Name   Age
0   1    Alice   NaN
1   2      Bob  25.0
2   3  Charlie  30.0
3   4      NaN  22.0

이러한 예제들을 통해 merge() 함수를 사용하여 특정 열의 값을 기준으로 데이터프레임을 병합하는 방법을 이해하실 수 있을 것입니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤