07. Merge, Concat 실습
| 배운 것 | 설명 |
|---|---|
pd.concat() | 다른 데이터 프레임을 하나로 합치는 함수 |
merge() | 두 객체를 병합하는 메서드(join할 때 주로 사용) |
T.iloc[행, 열] | 행열이 뒤바뀐다. (열 행) |
pd.condat(objs = [], axis = 0, join='outer', ignore_index = False)
objs : 합치려는 데이터 프레임들의 리스트
axis : 0은 행방향, 1은 열 방향, 연결방향 지정
join : inner와 outer중 하나 선택
ignore_index : True로 설정 되면 기존 인덱스는 무시되고 새로운 인덱스 부여, False가 기본값
left.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False,
right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False,
validate=None)
right: left와 함께 병합할 객체
how : 병합시 기준이 될 인덱스를 정하는 방식
left는 기존객체,right는 병합할 객체,
inner은 두 객체의 인덱스의 교집합,outer은 두 객체의 인덱스의 합집합,cross는 행렬곱
on : 열 기준 병합시 기준 / 기준 할 열의 이름이 양측이 동일하다면, on인수에 입력함으로써 기준 열을 정할 수 있다
left_on / right_on : 열기준 병합 시 기준으로 할 열의 양측 이름이 다르다면, 각각 어떤 열을 기준으로 할지 정해야함 / 열의 이름을 입력하면 됨
left_index / right_index : 인덱스 기준 병합 시 True로 하면 해당 객체의 인덱스가 병합 기준이
됨
※ 즉
left_on을 입력하고right_index를True로 한다면열-인덱스 기준 병합도 가능
sort : 병합 후 인덱스의 사전적 정렬 여부 / join메서드와 기능이 동일
suffixes : 병합할 객체들간 이름이 중복되는 열이 있다면, 해당 열에 붙일 접미사를 정함
기본적으로 join메서드의 lsuffix / rsuffix와 기능이 동일하지만, suffixes인수는 튜플로 두 값을 한번에 입력한다는 차이가 있다
copy : 사본을 생성할지 여부
indicator : True로 할경우 병합이 완료된 객체에 추가로 열을 하나 생성하여 병합 정보를 출력
validate : {'1:1' / '1:m' / 'm:1' / 'm:m'} 병합 방식에 맞는지 확인할 수 있다. 만약 validate에 입력한 병합방식과, 실제 병합 방식이 다를경우 오류가 발생
예를들어, validate="1:m"으로 입력하였는데, 실제로 m:1 병합방식일 경우 오류가 발생