[python] 판다스를 이용한 데이터 병합과 분할

판다스는 파이썬에서 데이터 조작과 분석을 위한 라이브러리로, 데이터 병합과 분할 작업을 손쉽게 수행할 수 있습니다. 데이터 병합은 두 개 이상의 데이터프레임을 하나로 합치는 작업을 의미하며, 데이터 분할은 하나의 데이터프레임을 두 개 이상의 그룹으로 나누는 것을 말합니다.

1. 데이터 병합(Merging Data)

데이터프레임 병합 방법

판다스의 merge 함수를 사용하여 데이터프레임을 병합할 수 있습니다. 예를 들어, 두 개의 데이터프레임을 ‘key’ 열을 기준으로 병합할 수 있습니다. 다음은 두 개의 데이터프레임을 ‘key’ 열을 기준으로 병합하는 예제입니다.

import pandas as pd

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]})

merged_df = pd.merge(df1, df2, on='key')
print(merged_df)

데이터프레임 결합 방법

‘key’ 열이 아닌 다른 열을 기준으로 데이터프레임을 결합하려면 merge 대신 join 함수를 사용할 수 있습니다.

joined_df = df1.set_index('key').join(df2.set_index('key'), lsuffix='_left', rsuffix='_right')
print(joined_df)

2. 데이터 분할(Splitting Data)

데이터프레임 분할 방법

데이터프레임을 특정 기준에 따라 분할할 수 있습니다. 예를 들어, ‘group’ 열을 기준으로 데이터프레임을 분할하는 예제는 다음과 같습니다.

grouped = df.groupby('group')
for key, group_df in grouped:
    print(key)
    print(group_df)

데이터프레임 필터링

특정 조건을 만족하는 행만 선택하여 분할할 수도 있습니다. 이를 통해 데이터프레임을 원하는 기준에 따라 여러 그룹으로 나눌 수 있습니다.

group1 = df[df['group'] == 'A']
group2 = df[df['group'] == 'B']
print(group1)
print(group2)

판다스를 사용하면 데이터의 병합과 분할 작업을 간편하게 수행할 수 있으며, 데이터를 효과적으로 다룰 수 있습니다.


참고 문헌: