테이블 열이나 행의 인덱스가 같은 경우에, 여러 개의 표를 합쳐서 보고 싶은 경우가 있다. pd.concat() 기능을 활용하면 쉽게 표를 합칠 수 있다.
예제
#Pandas불러오기
import pandas as pd
#데이터프레임 만들기
data1 = pd.DataFrame({'date':['2021-10-03','2021-10-04','2021-10-05'],
'category':['transportation','coffee','meal'],
'amount':['7500','5000','19000'],
'payment method':['cash','cash','card']},
)
data2 = pd.DataFrame({'date':['2021-09-04','2021-09-06','2021-09-07'],
'category':['shopping','shopping','meal'],
'amount':['37500','55000','12500'],
'payment method':['card','cash','cash']},
)
data1
data2
data1, data2는 컬럼명이 같으면서 내용이 다른 두 개의 데이터 데이터이다. 컬러명이 같으므로 두개를 아래로 붙여서 통합하고 싶다. 이럴 때 pd.concat()을 사용하면 문제가 해결된다. 똑같이 생긴 월별, 연도별 데이터를 합칠 때 아주 유용하다! 실제 데이터를 다루다보면 이런 경우가 아주 잦기 때문에 꼭 기억해두길.
pd.concat()으로 데이터프레임 합치기
1. 테이블 세로로 붙이기
아래 코드와 같이 합치고 싶은 데이터 프레임을 대괄호 안에 넣어주면 된다.
data3 = pd.concat([data1, data2], ignore_index=True)
data3
2. 인덱스 새로 설정하기
ignore_index=False가 기본값이며 data1의 인덱스와 data2의 인덱스가 원본과 같이 살아나고, True로 변경할 경우에는 index가 순서대로 정렬된다.
3. 테이블 가로로 붙이기
테이블을 세로가 아니라 옆으로 붙이고 싶은 경우에는 axis=1을 추가한다. 두 개의 표가 컬럼명이 똑같은 것이 아니라, 행 이름이 같을 때 유용하다.
data_row = pd.concat([data1, data2], axis=1)
data_row
'All about Data > python' 카테고리의 다른 글
구글 드라이브 파일을 코랩(Colab)으로 연동하는 방법 (0) | 2021.09.28 |
---|