Processor

【Pandas】 두 파일 합치기 - Merge 문 사용하기

작성자 임베디드코리아 작성일26-04-16 00:27 조회84회 댓글0건
< * 두 파일 합치기 - Merge 문 사용하기 * >
◆ pandas.merge()는 두 개 이상의 DataFrame을 특정 기준에 따라 병합할 때 사용한다.
◆ SQL의 JOIN 문과 유사하게, 두 DataFrame을 공통 열이나 인덱스를 기준으로 병합할 수 있다.

< merge() 함수의 기본 문법 >
  pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None)

  주요 매개변수:
          left, right: 병합할 두 개의 DataFrame. 
          how: 병합 방식으로, 'inner', 'outer', 'left', 'right' 중 하나를 선택. 기본값은 'inner'. 
          inner: 교집합에 해당하는 데이터를 기준으로 병합. 
          outer: 합집합에 해당하는 데이터를 기준으로 병합 (결측값 발생 가능). 
          left: 왼쪽 DataFrame의 모든 데이터를 포함하여 병합. 
          right: 오른쪽 DataFrame의 모든 데이터를 포함하여 병합. 
          on: 병합할 기준 열의 이름. 양쪽 DataFrame에서 동일한 열 이름일 때 사용. 
          left_on, right_on: 병합 기준 열이 서로 다를 때, 각각 지정할 열 이름.

 
예시 1>  공통 열을 기준으로 병합
___________________________________________________________________
import pandas as pd

# 예제 DataFrame 생성
df1 = pd.DataFrame({
    'key': ['A', 'B', 'C', 'D'],
    'value': [1, 2, 3, 4]
})

df2 = pd.DataFrame({
    'key': ['B', 'D', 'E', 'F'],
    'value': [5, 6, 7, 8]
})

# 공통 열 'key'를 기준으로 inner join
merged_df = pd.merge(df1, df2, on='key', how='inner')
print(merged_df)
-----------------------------------------------------------------------

예시 2> 왼쪽 DataFrame을 기준으로 병합 (left join)
_______________________________________________________________
# 왼쪽 DataFrame(df1)을 기준으로 병합
merged_df = pd.merge(df1, df2, on='key', how='left')
print(merged_df)
-----------------------------------------------------------------------

예시 3> 서로 다른 열을 기준으로 병합
________________________________________________________________________________________
df1 = pd.DataFrame({
    'key_left': ['A', 'B', 'C', 'D'],
    'value': [1, 2, 3, 4]
})

df2 = pd.DataFrame({
    'key_right': ['B', 'D', 'E', 'F'],
    'value': [5, 6, 7, 8]
})

# 서로 다른 열을 기준으로 병합
merged_df = pd.merge(df1, df2, left_on='key_left', right_on='key_right', how='inner')
print(merged_df)
------------------------------------------------------------------------------------------------------
▶ merge를 통해 다양한 방식으로 데이터를 병합할 수 있다.