본문 바로가기
Programming/Python

[Pandas] concat, merge로 데이터 연결 (SQL JOIN개념)

주어진 데이터가 다음과 같을 때 row연결 concat()을 다음과 같이 사용.

 

 

letter number가 같으니까

그대로 이은 결과

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

또 다른 예제>>>

여기서 열을 기준으로 concat()하는 양상은 다음과 같다.

 

 

 

concat( axis= 설정) 가능 -> 1은 가로로, 0은 세로로 '그대로' 붙이는 것.

<-> merge는 동일한거 기준으로 동일한거 없애고 합치는 것

 

 

 

 

 

 


 

SQL의  join개념은 merge()로 수행한다.   ex) pd.merge(left,right,on=기준컬럼,how=연결방법)

(공통된 열 기준으로 연결)

 

 

 

예제가 다음과 같을 때,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

where name =    <-개념

 

 

 

 

 

on = 기준점   how = inner (join종류)

 

 

 

 

 

outer join (모든 행 연결) 개념

빈 자리는 Null로 표시

 

 

 

 

 

 

 

 

 

left join

df17이 기준이므로 df17의 내용물은 다 살린다.

 

 

 

 

 

 

 

right join

df18이 기준이므로 df18의 내용물은 다 살린다.

 

 

 

 

 

 

 

 

 

 

[문제풀이]

 

 

모두 합치는건 단순하게 concat 쓰면 끝

Null값 지정 필요시 뒤에 .fillna(지정값) 추가

merge는 조건대로 작성하면 끝!

 

728x90
반응형