Dev/Python

Pandas | DataFrame - merge 병합 하기 & concat 결합 하기

sooya14 2020. 4. 20. 23:02

 

 

| Pandas DataFrame 

 

import pandas as pd 

data_A = pd.read_csv('./A.csv')  
df_A = pd.DataFrame(data_A, columns=data_A.keys())

data_B = pd.read_csv('./B.csv')  
df_B = pd.DataFrame(data_B, columns=data_B.keys())

기존의 csv 파일을 불러와서 dataframe 으로 만들기

 

df_A

  a point
0 1 1
1 1 2

df_B

  b point
0 2 1
1 2 2

 

| 병합 Merge

 

df_A 와 df_B 를 병합하려고 할때, 

result = pd.merge(df_A, df_B, on="point", how="left")

 

on="" 

두 데이터 프레임 모두 공통적인 열을 가지고 있을 때, 그 기준을 통해서 병합을 할 수 있다.

 

how="" 

어느쪽의 데이터 프레임을 기준으로 병합할지

 

아래와 같은 결과로 데이터프레임이 병합된다. 

  a point b
0 1  1	  2
1 1  2	  2

 

 

.

.

.

 

처음에 merge 생각 못하고 for문 여러개 돌릴려고 하는데 

시간도 오래걸리고 

이거 어떡하지 했는데 

merge 하니깐 완전 빠르게 해결;;; 

pandas 쵝오ㅠㅠㅠㅠㅠ 

 

 

| 결합 concat

 

두 개의 데이터프레임을 동일한 형태로 합치기! 결합하기! 

df_C

  a 
0 1 
1 2 

df_D

  a
0 3 
1 4

 

완전 간단 ㄷㄷ 

res = pd.concat([df_C, df_D])

 

res

  a 
0 1 
1 2 
2 3 
3 4

 

정말 이래서 다들 pandas 를 쓰는가 봐요... 

 

 

※ 머징한 결과물 csv로 만들기 

res.to_csv("last.csv")

# 머징한df.to_csv("결과물.csv")