[빅분기 실기] 판다스 (Pandas) 데이터 프레임 합치기
2024. 11. 16. 16:58ㆍ빅데이터 분석기사
반응형
1. 단순 병합
데이터 프레임을 위-아래 또는 왼쪽-오른쪽으로 연결할 때 concat()을 사용한다.
다음과 같이 데이터를 입력한다.
import pandas as pd
appetizer = pd.DataFrame({
'Menu' : ['Salad', 'Soup', 'Bread'],
'Price' : [5000, 3000, 2000]
})
main = pd.DataFrame({
'Menu' : ['Steak', 'Pasta', 'Chicken'],
'Price' : [15000, 12000, 10000]
})
print(appetizer)
print(main)
concat()은 기본적으로 위-아래로 합친다.
합쳤을 때 기존 데이터에서 갖고 있던 인덱스 번호를 유지한다.
인덱스 번호를 새롭게 설정하려면 ignore_index = True 옵션을 추가한다.
full_menu = pd.concat([appetizer, main], ignore_index = True)
full_menu
왼쪽 - 오른쪽을 합칠 때에는 axis = 1로 변경한다.
full_menu = pd.concat([appetizer, main], axis = 1)
full_menu
2. 키(key) 기준 병합
특정 키를 기준으로 합칠 때가 있다.
예를 들어, 첫 번째 데이터에는 메뉴와 가격이 있고 두 번째 데이터에는 메뉴와 칼로리가 있다.
두 데이터를 합치려고 하는데 메뉴 순서가 달라 왼쪽-오른쪽을 합칠 수 없다.
메뉴를 기준으로 병합하고자 할 때 merge()를 활용한다.
on='Menu' 설정을 통해 왼쪽에 있는 데이터의 메뉴를 기준으로 오른쪽 데이터가 합쳐진다.
price = pd.DataFrame({
'Menu' : ['Salad', 'Soup', 'Steak', 'Pasta'],
'Price' : [5000, 3000, 15000, 12000]
})
cal = pd.DataFrame({
'Menu' : ['Soup', 'Steak', 'Pasta', 'Salad'],
'Calories' : [100, 500, 400, 150]
})
menu_info = pd.merge(price, cal, on = 'Menu')
menu_info
'빅데이터 분석기사' 카테고리의 다른 글
[빅분기 실기] 판다스 (pandas) 시계열 데이터 (datetime, Timedelta) (0) | 2024.11.10 |
---|---|
[빅분기 실기] 판다스 (pandas) 그룹핑 (0) | 2024.11.09 |
[빅분기 실기] 판다스 (pandas) 내장 함수 (0) | 2024.11.09 |
[빅분기 실기] 판다스 (pandas) 값 변경. 문자열 (0) | 2024.11.09 |
[빅분기 실기] 판다스 (pandas) 필터링, 결측치 처리 (0) | 2024.11.09 |