Python/Pandas
Python pandas concat / merge
mugoori
2022. 11. 25. 17:48
데이터프레임을 합치는 함수 컨캣과 멀지를 알아보자
컨캣은 컬럼 이름이 모두 같으면 갯수제한없이 데이터프레임을 하나로 합쳐준다
멀지는 두 데이터 프레임에 공통 컬럼이 있으면 그 컬럼을 기준으로 하나로 합쳐준다
멀지는 두개의 데이터 프레임만 합칠수 있다.
또한 멀지는 기준이되는 컬럼에 공통된 데이터만 가져온다.
컨캣으로 합치기
사용법
pd.concat([df1,df2,df3'''''])
pd.concat([df1,df2])
pd.concat([df1,df2,df3])
# 3개의 데이터 프레임의 컬럼이 모두 같기때문에 컴캣으로 합쳐준다
멀지로 합치는법
사용법
pd.concat([df1,df2,on=기준이되는컬럼,how=left or right])
df_all=pd.concat([df_Engineering_dept,df_Finance_dept])
# 컬럼이 같은 엔지니어 파이낸스프레임을 컴캣으로 합치고 df_all 에 저장하였다
pd.merge(df_all , df_salary , on='Employee ID')
# 이후 df_all 과 df_salary 프레임을 멀지로 합쳤다 이때 뒷쪽에 how를 사용해 왼쪽 또는 오른쪽을 기준으로 합칠수있다
이 프레임을 보면 현재 6번 Bill의 데이터가 빠져있다 그 이유는 셀러리 프레임쪽에 6번이 없기때문이다
멀지는 기준이되는 컬럼에 같은 데이터가 있는것만 합쳐주기때문이다
따라서 없는 데이터도 나타내주려면 how를 사용한다
pd.merge(df_all,df_salary,on='Employee ID',how='left')
# how=left를 써 df_all 기준으로 합쳐져서 6번 Bill이 포함되어있다.