< * 두 파일 합치기 - 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를 통해 다양한 방식으로 데이터를 병합할 수 있다.