[Pandas] 데이터프레임(DataFrame) 병합

2020. 6. 15. 21:54Programming Language/Python

반응형

 두 데이터프레임의 결과를 비교하기 위한 준비

display_side_by_side 함수는 여러데이터를 비교하기 위해 생성한 함수이다.

(아래 링크에서 자세한 내용 확인)

 

[Python] 여러 데이터 비교를 위한 결과 HTMl 수정

여러 데이터 비교를 위한 결과 HTMl 수정 Jupyter Notebook을 이용하여 두 데이터를 비교해서 확인 하고 싶은 경우가 있다. 물론 두 데이터를 print() 함수와 display() 함수를 이용하여 수직적으로 확인할

hyunmin1906.tistory.com

Soruce Code

 

hyunmin94/hyunmin

Contribute to hyunmin94/hyunmin development by creating an account on GitHub.

github.com


 데이터프레임(DataFrame) 병합

※ (1~4번) 기준 두개의 DataFrame 데이터 준비

 merge 함수

두 데이터프레임을 기준열 혹은 index를 이용하여 병합할때 사용한다.


1) inner join

두 데이터프레임에서 공통적으로 존재하는 열의 데이터를 기준으로 inner 병합한다.

Default
on = "사원번호"
how = "inner"

2) outer join

  • 공통적으로 존재하는 열을 기준으로 두 데이터프레임의 전체 데이터를 병합
  • 공통적으로 존재하지 않는 열의 데이터는 NaN으로 자동처리 된다.
빨간색 : 두 데이터프레임 중 한쪽에만 존재하는 데이터

3) left join

기준열에서 공통적인 데이터와 왼쪽에 위치한 데이터프레임의 데이터를 병합

빨간색 : 공통적인 데이터를 제외하고 왼쪽 데이터프레임에 존재하는 데이터만 병합된걸 알 수 있다.

4) right join

기준열에서 공통적인 데이터와 오른쪽에 위치한 데이터프레임의 데이터를 병합

빨간색: 공통적인 데이터를 제외하고 오른쪽 데이터프레임에 존재하는 데이터만 병합된걸 알 수 있다.


※ (1~2번) 기준 두개의 DataFrame 데이터 준비

1) left_on, right_on

공통적인 열은 없지만 양쪽의 공통적인 데이터형식을 갖고 있으며, 이를 이용하여 조인하고 싶을 경우 사용 

2) left_index, right_index

데이터프레임의 index 값을 통해 join을 하기 위해 기준 데이터의 index를 join 하고자 하는 열로 지정함


■ join 함수

두 데이터프레임의 index를 기준으로 join이 이루어진다.



■ concat 함수

단순히 데이터를 연결할때 사용한다.


열로 데이터 연결(병합)

행으로 데이터 연결(병합)

반응형