Programming Blog

(pandas) DataFrame 합치기 본문

빅데이터 분석/Pandas

(pandas) DataFrame 합치기

Go-ong 2020. 11. 12. 13:58

포스팅 개요

데이터 전처리 과정에서 데이터 프레임을 통합해야 하는 상황이 생겼다.


축구를 좋아해서 EPL 팀과 선수로 예제...

 

(기본 데이터프레임)

import pandas as pd

epl_dict = {
'man_city':['에데르손', '케빈데브라이너', '라힘스털링', '가브리엘제주스' ,'세르히오아게로'],
'man_uni':['데헤아', '해리맥과이어', '마르코스로호', '폴 포그바', '래시포드'],
'tottenham':['요리스', '손흥민', '케인', '베일', '라멜라']
}

epl_df = pd.DataFrame()

for key in epl_dict:
    epl_df[key] = epl_dict[key]

epl_df

기본 데이터 프레임

1. 행 기준으로 데이터프레임 합치기
(행 기준으로 추가할 데이터프레임 생성)

axis0_dict = {
    'man_city':['워커'],
    'man_uni':['그린우드'],
    'tottenham':['다이어']
}

axis0_df = pd.DataFrame()

for key in axis1_dict:
    axis0_df[key] = axis1_dict[key]
    
axis0_df

행으로 추가할 데이터 프레임

# pd.concat([df, df], axis=0) 
# axis=0 # 행 기준으로 데이터프레임 합치기, 
# * axis는 default가 0이라 0일 때는 생략 가능
total_df = pd.DataFrame()

total_df = pd.concat([epl_df, axis0_df], axis=0)
total_df

 

행 기준으로 데이터 프레임을 합친 후 출력 결과

 

2. 열(컬럼) 기준으로 데이터프레임 합치기

▼(열 기준으로 추가할 데이터프레임 생성)

axis1_dict = {
    'liverpool':['아놀드','판다이크','피르미누','살라','마네']
}

axis1_df = pd.DataFrame()

for key in axis1_dict:
    axis1_df[key] = axis1_dict[key]
    
axis1_df

컬럼으로 추가할 데이터 프레임

total_df = pd.DataFrame()

total_df = pd.concat([epl_df, axis1_df], axis=1)
total_df

열 기준으로 데이터 프레임을 합친 출력 결과


포스팅 결론

pd.concat([df, df], ignore_index=True or False, axis=0 or 1)

 

ignore_index = 인덱스 포함 여부, True : 제거 / False : 포함

axis = 행, 열 기준 선택, 0 : 행 기준 / 1 : 열 기준

Comments