Concat (Concatenate)
concat은 '더한다' 혹은 '붙인다'라는 의미
- 데이터프레임을 더할 때, 일반적으로는 더해지는 행, 열의 이름이나 인덱스 값이 일치해야 합니다.
- 비어있는 부분에 대해서는 (결측치를 의미하는) NaN 값으로 채워지겠죠.
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True)
# axis : 축
# join : 조인 방법
# join_axes : 조인 축 지정
# keys : 원본데이터 이름 지정
# ignore_index : 중복되는 로우 이름 색인 무시 여부
Concat 예시
df1 = DataFrame({'a':[1,2,3], 'b':[4,5,6]})
df2 = DataFrame({'a':[10,11], 'b':[40,50]})
1. pd.concat([df1, df2]) # row 합치기
- 인덱스를 무시하고 그냥 밑으로 row 합치는 경우
2. pd.concat([df1, df2], axis=1, join='inner')# join (left join)
- inner join은 left join과 동일하고, 같은 index가 존재할 경우에만 데이터 합병을 한다.
3. pd.concat([df1, df2], keys=['one', 'two'])# keys
- key를 통해서 원본 데이터의 이름을 재지정 해줄 수 있다.
Merge
- 공통된 부분을 기반으로 합치기
- 데이터 프레임끼리 병합하기
- sql에서 join과 같은 역할
import pandas as pd
# 기준열 이름이 같을 때
pd.merge(left, right, on = '기준열', how = '조인방식')
# 기준열 이름이 다를 때
pd.merge(left, right, left_on = '왼쪽 열', right_on = '오른쪽 열', how = '조인방식')
left : 왼쪽 데이터프레임
right : 오른쪽 데이터프레임
on : (두 데이터프레임의 기준열 이름이 같을 때) 기준열
how : 조인 방식 {'left', 'right', 'inner', 'outer'} 기본값은 'inner'
left_on : 기준열 이름이 다를 때, 왼쪽 기준열
right_on : 기준열 이름이 다를 때, 오른쪽 기준열
join
Left Join
: 왼쪽 데이터프레임을 기준으로 조인한다. 오른쪽 데이터프레임에 없는 값은 NaN으로 나타난다.
Right Join
: 오른쪽 데이터프레임을 기준으로 조인한다. 왼쪽 데이터프레임에 없는 값은 NaN으로 나타난다.
Inner Join
: 교집합을 의미한다. 양쪽에 공통으로 있는 값만 나타난다.
Outer Join
: 모든 값이 나타나도록 한다. 왼쪽 데이터프레임과 오른쪽 데이터프레임에 없는 값들은 NaN으로 나타난다.
'ALL NIGHT STUDY' 카테고리의 다른 글
미분 (0) | 2021.09.16 |
---|---|
Tidy 데이터 (0) | 2021.09.16 |
Pandas(Python Data Analysis Library) (0) | 2021.09.16 |
Feature Engineering (0) | 2021.09.16 |
데이터 전처리(Pre-Processing) (0) | 2021.09.16 |