안녕하세요 콥스랩(COBS LAB)입니다. 오늘 소개해드릴 주제는 판다스 데이터프레임 병합에 대해서 설명드리도록 하겠습니다.
데이터프레임 합치기
판다스(Pandas)는 두 개 이상의 데이터프레임을 합치는 여러 가지 방법을 제공합니다. 이번에는 판다스를 사용하여 데이터프레임을 합치는 방법에 대해 알아보도록 하겠습니다.
데이터 합치기
판다스는 여러 개의 데이터 프레임을 합치는데에 유용한 다양한 함수를 제공합니다. 이번 예제에서는 concat(), merge(), join() 함수를 사용하여 데이터 프레임을 합치는 방법을 살펴보겠습니다.
concat()
concat() 함수는 여러 개의 데이터 프레임을 하나로 합치는 함수입니다. 합치는 방향을 지정하여 가로로 합치는 concat(axis=1)와 세로로 합치는 concat(axis=0)를 지정할 수 있습니다.
# 데이터 프레임 생성
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
'B': ['B4', 'B5', 'B6', 'B7'],
'C': ['C4', 'C5', 'C6', 'C7'],
'D': ['D4', 'D5', 'D6', 'D7']})
df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
'B': ['B8', 'B9', 'B10', 'B11'],
'C': ['C8', 'C9', 'C10', 'C11'],
'D': ['D8', 'D9', 'D10', 'D11']})
# 세로로 합치기
result = pd.concat([df1, df2, df3], axis=0)
print(result)
위 코드에서는 concat() 함수를 사용하여 df1, df2, df3 데이터프레임을 세로로 합쳐서 result 변수에 저장한 후 출력하였습니다. 출력 결과는 다음과 같습니다.
merge()
merge() 함수는 두 개의 데이터 프레임을 공통된 열 또는 인덱스를 기준으로 병합하는 함수입니다.
# 데이터 프레임 생성
df1 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
df2 = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
# key 열을 기준으로 병합
result = pd.merge(df1, df2, on='key')
print(result)
merge() 함수를 사용하여 df1과 df2 데이터프레임을 병합한 후 result 변수에 저장한 후 출력하였습니다. merge() 함수는 on 매개변수에 병합 기준 열을 지정할 수 있습니다. 이 예제에서는 key 열을 기준으로 병합하였습니다. 출력 결과는 다음과 같습니다.
join()
join() 함수는 두 개의 데이터 프레임을 인덱스를 기준으로 병합하는 함수입니다. 기본적으로 merge() 함수와 동일하게 동작하지만, 인덱스를 기준으로 병합하는 경우 join() 함수가 더 간단하게 사용할 수 있습니다.
# 데이터 프레임 생성
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']},
index=['K0', 'K1', 'K2', 'K3'])
df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']},
index=['K0', 'K1', 'K2', 'K3'])
# 인덱스를 기준으로 병합
result = df1.join(df2)
print(result)
위 코드에서는 join() 함수를 사용하여 df1과 df2 데이터프레임을 병합한 후 result 변수에 저장한 후 출력하였습니다. join() 함수는 기본적으로 인덱스를 기준으로 병합하므로, 별도의 on 매개변수를 지정하지 않아도 됩니다.
'pandas' 카테고리의 다른 글
Pandas로 데이터프레임 그룹화하기: 그룹별로 데이터 처리하는 방법 (0) | 2023.03.22 |
---|---|
판다스(Pandas)로 피벗테이블(Pivot Table) 만들기: 데이터 분석의 필수 도구! (0) | 2023.03.22 |
데이터 전처리에서 가장 중요한! 판다스(Pandas)의 데이터 타입 변경 방법 (0) | 2023.03.21 |
이상치를 대체하는 다양한 방법, 판다스로 구현하기 (0) | 2023.03.20 |
Pandas의 Concat 함수를 활용한 데이터 프레임 병합 방법 (0) | 2023.03.20 |
댓글