일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 실습
- oracle
- 알고리즘
- level 2
- 데이터 분석
- matplotlib
- sklearn
- Numpy
- Python
- 코딩테스트
- 머신러닝
- Kaggle
- SQL
- 오라클
- level 1
- 튜닝
- 빅분기
- R
- 프로그래머스
- 실기
- pandas
- 카카오
- python3
- 파이썬
- Oracel
- seaborn
- 빅데이터 분석 기사
- Today
- Total
라일락 꽃이 피는 날
[Pandas] DataFrame 합치기, 병합하기 본문
DataFrame 합치기 (concat)
row나 column 기준으로 단순하게 이어 붙이기
1. Row 기준으로 합치기
pd.concat에 합칠 데이터 프레임을 list로 합쳐준다.
row를 기준으로 합치고자 할 때는 sort=False 옵션을 주어 순서를 유지한다.

df_concat.reset_index() : 인덱스 초기화

df_concat.reset_index(drop=True) : 새로 index column이 생성되지 않고 인덱스 초기화

2. column 기준으로 합치기
column을 기준으로 합치고자 할 때는 axis=1 옵션 부여

DataFrame 병합하기 (merge)
특정 고유한 키(unique id) 값을 기준으로 병합하기
pd.merge(left, right, on='기준컬럼', how='left')
left와 right는 병합할 두 DataFrame을 대입한다.
on에는 병합의 기준이 되는 column을 넣어 준다.
how에는 'left', 'right', 'inner', 'outer' 4가지의 병합 방식 중 한 가지를 택한다.
먼저, 비교를 위해 df2 에서 5개의 데이터를 고의적으로 drop 해준다.

① how = 'left'
left DataFrame에 키 값이 존재하면 해당 데이터를 유지하고, 병합한 right DataFrame의 값은 NaN으로 대입

② how='right'
right DataFrame을 기준으로 병합

③ how='inner'
두 DataFrame에 모두 키 값이 존재하는 경우만 병합

④ how='outer'
하나의 DataFrame에 키 값이 존재하는 경우 모두 병합하고, 없는 값은 NaN으로 대입

column명은 다르지만 같은 성질의 데이터인 경우
left_on에는 left DataFrame에서 기준이 되는 column을,
right_on에는 right DataFrame에서 기준이 되는 column을 넣어 준다.

index를 기준으로 병합하는 경우
left_index=True, right_index=True

'데이터 분석 > Python' 카테고리의 다른 글
[Pandas] apply, map (0) | 2021.04.27 |
---|---|
[Pandas] dtype 변환 (0) | 2021.04.27 |
[Pandas] 결측값, 중복값 처리 (0) | 2021.04.26 |
[Pandas] Multi-Index (복합 인덱스) (0) | 2021.04.26 |
[Pandas] GroupBy (그룹으로 묶어 보기) (0) | 2021.04.26 |