pd. concat() : 데이터 프레임 붙이기 # R의 rbind(), cbind()와 유사함
[디폴트 설정 보기 ]
pd.concat ( objs,
axis=0, # 0 : 위아래로 합치기, 1 : 왼쪽 오른쪽 합치기
join = 'outer', # 'inner' : , 'outer' :
ignore_index=False, # False : 기존의 인덱스 유지, True : 기존의 인덱스 무시
keys=None, #계층적 index 사용하려면 keys 튜플 입력
levels = None, #수준
names = None, # index에 이름을 부여하려면 names 튜플 입력
verify_integrity = False, #중복
copy=True, #복사
)
데이터 개수로 결합 확인하기
세로로 결합되기 때문에 table1 데이터 개수 + table2 데이터 개수 = 결합된 새로운 table의 데이터 개수 가 성립하게 된다.
pd. merge() : 데이터 프레임 합치기 # SQL의 join과 같은 역할
# 기준열 이름이 같을 때 pd.merge(left, right, on = '기준열', how = '조인방식')
# 기준열 이름이 다를 때 pd.merge(left, right, left_on = '왼쪽 열', right_on = '오른쪽 열', how = '조인방식' # left join, right join, inner join(교집합), outer join(합집합))
left : 왼쪽 데이터프레임
right : 오른쪽 데이터프레임
on : (두 데이터프레임의 기준열 이름이 같을 때) 기준열
how : 조인 방식 {'left', 'right', 'inner', 'outer'} 기본값은 'inner'
left_on : 기준열 이름이 다를 때, 왼쪽 기준열
right_on : 기준열 이름이 다를 때, 오른쪽 기준열
두 데이터프레임의 열 이름이 다를 때
위 예시처럼 양쪽 데이터프레임에서 merge의 기준이 되는 열의 이름이 같다면 on = '기준열'로 지정해주면 된다. 하지만 양쪽 데이터프레임에서 기준이 되는 열의 이름이 다르다면 각각 left_on = '왼쪽 열', right_on = '오른쪽 열'로 지정하면 된다.
pd.merge(left, right, left_on = '왼쪽 열', right_on = '오른쪽 열')
데이터 개수 확인
일반적으로는 table 1+ table 2결합시, left조인인 경우 table1의 데이터 개수 유지, right 조인인 경우 table2의 데이터 개수 유지하겠지만, 단지 조인할 데이터의 조인키에 중복 데이터가 존재하는 경우에는 데이터 개수가 늘어날 수 있기 때문에 주의해야 한다.
'Phython > pandas' 카테고리의 다른 글
loc(), iloc() (1) | 2023.06.20 |
---|---|
matplotlib() (2) | 2023.06.13 |
groupby(), groups.func() (0) | 2023.06.12 |