[python] 데이터 합치기(Merge) 방법

데이터 분석이나 머신 러닝 프로젝트를 수행할 때, 여러 개의 데이터셋을 합쳐야 할 때가 있습니다. 이때 데이터를 합치는 방법 중 하나는 Merge입니다. Python에서는 pandas 라이브러리를 사용하여 데이터를 합칠 수 있습니다.

pandas의 merge 함수

pandasmerge 함수는 두 개의 데이터프레임을 특정한 기준으로 합치는 기능을 제공합니다. merge 함수는 SQLJOIN과 유사한 방식으로 작동합니다.

merged_df = pd.merge(left_df, right_df, on='key')

위 코드에서 left_dfright_df는 합치고자 하는 데이터프레임이고, on 파라미터는 합칠 기준이 되는 열(또는 여러 열)을 지정합니다. 이렇게 하면 key 열을 기준으로 두 데이터프레임을 합칩니다.

Merge 방식

merge 함수는 기본적으로 inner join을 수행합니다. 이는 두 데이터프레임에서 공통되는 키 값만 남기고 나머지 행을 제거합니다. merge 방식을 지정하지 않으면 inner join이 기본적으로 적용됩니다.

pandas의 merge 함수는 다음과 같은 merge 방식을 지원합니다.

예시

다음은 merge 함수를 사용하여 두 개의 데이터프레임을 합치는 예시입니다.

import pandas as pd

# 첫 번째 데이터프레임
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
                    'value1': [1, 2, 3, 4]})

# 두 번째 데이터프레임
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
                    'value2': [5, 6, 7, 8]})

# 두 데이터프레임을 key 열을 기준으로 합치기
merged_df = pd.merge(df1, df2, on='key')

print(merged_df)

결과는 다음과 같습니다.

  key  value1  value2
0   B       2       5
1   D       4       6

이 예시에서는 key 열을 기준으로 두 데이터프레임을 합칩니다. 결과로는 두 데이터프레임에서 공통된 BD 키 값에 대한 행만 남게 됩니다.

마무리

이와 같이 pandas의 merge 함수를 사용하여 데이터를 합칠 수 있습니다. merge 함수의 다양한 옵션을 활용하면 데이터를 유연하게 합칠 수 있으며, 복잡한 데이터 분석 작업에 도움이 될 것입니다.

참고 자료: