본문 바로가기

코딩으로 익히는 Python/Pandas

[Python] 20. pandas DataFrame merge(병합) : pd.merge(),pd.concat()예제

728x90
반응형
SMALL
import pandas as pd
import numpy as np

 

employee = [{'empno':1, 'ename':'kim', 'dept':1},
            {'empno':2, 'ename':'lee', 'dept':2},
            {'empno':3, 'ename':'park', 'dept':1},
            {'empno':4, 'ename':'song', 'dept':3},
            {'empno':5, 'ename':'min', 'dept':2}
           ]
dept=[{'dept':1, 'deptname':'관리직'},
      {'dept':2, 'deptname':'영업직'},
      {'dept':3, 'deptname':'개발직'}
     ]
info =[{'empno':1, 'addr':'서울시','phone':'010-1111-1111'},
       {'empno':3, 'addr':'부산시','phone':'010-2222-2222'},
       {'empno':2, 'addr':'광주시','phone':'010-3333-3333'},
       {'empno':5, 'addr':'광주시','phone':'010-4444-4444'},
       {'empno':4, 'addr':'광주시','phone':'010-5555-5555'}
      ]

emp = pd.DataFrame(employee)
dept = pd.DataFrame(dept)
info = pd.DataFrame(info)

 

emp

 

dept

 

info


merge(병합)

: 반드시 공통 칼럼 있어야 함

 

pd.merge(emp,dept)

 

pd.merge(emp,dept,on='dept')

 

pd.merge(dept,emp,on='dept')

 

mg = pd.merge(emp,dept,on='dept')
mg.drop(columns=['dept'],inplace=True)
mg

 

mg1 = pd.merge(mg,info,on='empno')
mg1.drop(columns=['empno'],inplace=True)
mg1


concat(결합)

: 공통 컬럼 없어도 됨

pd.concat([emp,dept]) #행으로 결합

 

pd.concat([emp,dept],axis=1) #컬럼으로 결합


review
- merge와 concat 차이점 숙지 (공통 컬럼 여부)
728x90
반응형
LIST