[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)
판다스를 사용하면 데이터의 병합과 분할 작업을 간편하게 수행할 수 있으며, 데이터를 효과적으로 다룰 수 있습니다.
참고 문헌:
- 판다스 공식 문서: https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html
- Jake VanderPlas, “Python Data Science Handbook”, O’Reilly Media, 2016.