All thing of the world!

merge 설명 : python pandas 함수 본문

IT/python

merge 설명 : python pandas 함수

WorldSeeker 2022. 3. 27. 11:16

1. 함수의 목적

    pandas 함수로, SQL의 join과 동일한 기능을 하는 함수.

   

2. 샘플을 통한 개념 퀵뷰

3. 사용방법 

        pandas.merge(left, 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)[source]

 

4. 함수 PARAMETER 설명
 
[left] : DataFrame

join을 하고 싶은 2개의 데이터 프레임 중 개념상 좌측에 위치할 데이터프레임

 

[right] : DataFrame or named Series

join을 하고 싶은 2개의 데이터 프레임 중 개념상 우측에 위치할 데이터프레임

 

[how] : {‘left’, ‘right’, ‘outer’, ‘inner’, ‘cross’}, default ‘inner’

조인할 방법 (각 조인 방법은 ANSI SQL의 join 문 참고)

 

[on] : label or list

join문의 on에 해당. 컬렴명이나 index level name 사용가능. 지정하지 않을 경우 이름이 같은 것이 지정된다.

 

[left_on] : label or list, or array-like

on 파라미터와 다르게 컬럼명이 다를 경우 join으로 연결할 왼쪽 컬럼을 지정함.

 

[right_on] : label or list, or array-like

on 파라미터와 다르게 컬럼명이 다를 경우 join으로 연결할 오른쪽 컬럼을 지정함.

 

[left_index] : bool, default False

on 파라미터와 다르게 컬럼명이 다를 경우 join으로 연결할 때 왼쪽 데이터프레임의 index를 사용할지 여부

 

[right_index] : bool, default False

on 파라미터와 다르게 컬럼명이 다를 경우 join으로 연결할 때 오른쪽 데이터프레임의 index를 사용할지 여부

 

[sort] : bool, default False

True면 조인결과를 join key의 순서대로 반환한다. 

 

[suffixes] : list-like, default is (“_x”, “_y”)

왼쪽과 오른쪽에서 겹치는 열 이름에 추가할 접미사를 나타내는 문자열.

문자열 대신 None 값을 전달하면 왼쪽 또는 오른쪽의 열 이름이 접미사 없이 그대로 유지됨.

중복된 2개 열 중 하나는 지정되어야함.

 

[copy] : bool, default True

copy 여부

 

[indicator] : bool or str, default False

True이면 각 행의 소스와 함께  출력 DataFrame에 "_merge"라는 열을 추가한다.

str을 사용하여 다른 이름을 지정할 수 있다.

 

[validate] : str, optional

join 개념에 있어서 양 쪽 테이블(데이터프레임) 관계의 기수성을 지정한다.

  • “one_to_one” or “1:1”
  • “one_to_many” or “1:m”
  • “many_to_one” or “m:1”
  • “many_to_many” or “m:m”

 

5. 다양한 샘플표현

1) 중복된 컬럼명 value는 _x와 _y를 붙여 반환한다.

2) suffixes 옵션을 사용하여 중복된 컬럼명을 지정한다. 

3) 중복된 컬럼명이 있으나, suffixes를 2개다 false로 전달하면 오류가 발생한다.

 

끝.

Comments