Python : 07. Merge, Concat

yeppi1802·2024년 6월 23일

07. Merge, Concat 실습


배운 것설명
pd.concat()다른 데이터 프레임을 하나로 합치는 함수
merge()두 객체를 병합하는 메서드(join할 때 주로 사용)
T.iloc[행, 열]행열이 뒤바뀐다. (열 행)

📖 자세히

[함수 참고 - [Python 완전정복 시리즈] 2편 : Pandas DataFrame 완전정복]

🔆 pd.concat()

  • 기본형태
pd.condat(objs = [], axis = 0, join='outer', ignore_index = False)

objs : 합치려는 데이터 프레임들의 리스트

axis : 0은 행방향, 1은 열 방향, 연결방향 지정

join : innerouter중 하나 선택

ignore_index : True로 설정 되면 기존 인덱스는 무시되고 새로운 인덱스 부여, False가 기본값

🔆 merge()

  • 기본형태
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)

rightleft와 함께 병합할 객체

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 병합방식일 경우 오류가 발생

0개의 댓글