[데이터 전처리] 데이터 결합Data Analysis/EDA2023. 5. 1. 16:05
Table of Contents
반응형
1. 상하 결합
import pandas as pd
df1 = pd.DataFrame({'A':[1,2,3], 'B':[11,12,13],'C':[21,22,23]})
df2 = pd.DataFrame({'A':[4,5,6], 'B':[14,15,16],'C':[24,25,26]})
concate() 함수를 사용하면 기본적으로 위/아래 데이터 행을 연결 할 수 있습니다.
인덱스 초기화를 위해서는 ignore_index 인자에 True로 해줍니다.
pd.concat([df1,df2], ignore_index=True)

서로 다른 필드로 구성되어 있는 데이터프레임의 결합을 살펴보겠습니다.
df1에는 D 컬럼이 존재하고, df2에는 E 컬럼이 존재합니다.
df1 = pd.DataFrame({'A':[1,2,3], 'B':[11,12,13],'C':[21,22,23], 'D':[31,32,33]})
df2 = pd.DataFrame({'A':[4,5,6], 'B':[14,15,16],'C':[24,25,26], 'E':[41,42,43]})
join 이라는 인자를 사용하면 결합 방식을 정할 수 있습니다.
join = outer 로 설정하면, 합집합으로 결합이 되고
join=inner로 설정하면, 교집합으로 결합이 됩니다.
pd.concat([df1,df2],join='outer')

pd.concat([df1,df2],join='inner')

2. 좌우 결합
df1 = pd.DataFrame({'A':[1,2,3], 'B':[11,12,13],'C':[21,22,23], 'D':[31,32,33]})
df2 = pd.DataFrame({'E':[3,4,5], 'F':[13,14,15],'G':[23,24,25], 'H':[41,42,43]})
concat() 함수에 axis=1을 넣어주면 좌우 결합이 가능합니다.
pd.concat([df1,df2],axis=1)

또한, merge() 함수를 사용하여 정렬 방식인 how 메서드, 정렬 기준인 on 메서드를 지정하여 데이터 프레임의 결합도 가능하다.
df1 = pd.DataFrame({'ID':[1,2,3,4,5], '성별':['F','M','F','M','F'],'나이':[20,30,40,25,42]})
df2 = pd.DataFrame({'ID':[3,4,5,6,7], '키':[160.5,170.3,180.1,142.3,153.7],'몸무게':[45.1,50.3,72.1,38,42]})
pd.merge(df1,df2,how='left',on='ID')

반응형
'Data Analysis > EDA' 카테고리의 다른 글
| [EDA] EDA는 코드보다 질문이 먼저다 : 데이터를 탐색하는 사고 순서 (0) | 2026.05.24 |
|---|---|
| [데이터 전처리] 피벗 테이블, 파일 호출 / 저장 (0) | 2023.05.03 |
| [데이터 전처리] 그룹화 (0) | 2023.05.02 |
| [데이터 전처리] 레코드 칼럼 추가, 삭제, apply.map (0) | 2023.04.27 |
| [데이터 전처리] 결측값 처리 (0) | 2023.04.26 |
@모모띠 :: Data Lab :: Journey From Data to Insight
Notice
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.
Popular
New
Recommend