반응형
6-7 데이터 합치기
데이터를 합치는 방법 : 가로로 합치기, 세로로 합치기
가로로 합치기
1. pd.merge()에 결합할 데이터 프레임명 나열
2. 오른쪽에 입력한 데이터 프레임을 왼쪽 데이터 프레임에 결합하도록 how = 'left'를 입력
3. 데이터를 합칠 때 기준으로 삼을 변수명을 on에 입력
# 중간고사 데이터 만들기
test1 = pd.DataFrame({'id' : [1, 2, 3, 4, 5],
'midterm' : [60, 80, 70, 90, 85]})
# 기말고사 데이터 만들기
test2 = pd.DataFrame({'id' : [1, 2, 3, 4, 5],
'final' : [70, 83, 65, 95, 80]})
test1
test2
total = pd.merge(test1, test2, how = 'left', on = 'id')
total
다른 데이터를 활용해 변수 추가
name = pd.DataFrame({'nclass' : [1, 2, 3, 4, 5],
'teacher' : ['kim', 'lee', 'park', 'choi', 'jung']})
name
exam_new = pd.merge(exam, name, how = 'left', on = 'nclass')
exam_new
세로로 합치기
pd.concat()을 이용
# 학생 1~5번 시험 데이터 만들기
group_a = pd.DataFrame({'id' : [1, 2, 3, 4, 5],
'test' : [60, 80, 70, 90, 85]})
# 학생 6~10번 시험 데이터 만들기
group_b = pd.DataFrame({'id' : [6, 7, 8, 9, 10],
'test' : [70, 83, 65, 95, 80]})
group_a
group_b
group_all = pd.concat([group_a, group_b])
group_all
※ 인덱스를 새로 부여하려면 pd.concat()에 ignore_index = True를 입력
pandas 치트 시트
혼자서 해보기 - mpg 데이터를 이용해 분석 문제를 해결해 보세요
fuel = pd.DataFrame({'fl' : ['c', 'd', 'e', 'p', 'r'],
'price_fl' : [2.35, 2.38, 2.11, 2.76, 2.22]})
fuel
Q1 mpg 데이터에는 연료 종류를 나타낸 fl 변수는 있지만 연료 가격을 나타낸 변수는 없습니다. 앞에서 만든 fuel 데이터를 이용해 mpg 데이터에 price_fl(연료 가격) 변수를 추가하세요.
mpg = pd.merge(mpg, fuel, how = 'left', on = 'fl')
mpg
Q2 연료 가격 변수가 잘 추가됐는지 확인하기 위해 model, fl, price_fl 변수를 추출해 앞부분 5행을 출력해 보세요.
mpg[['model', 'fl', 'price_fl']].head(5)
※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.
반응형
'데이터 분석 학습' 카테고리의 다른 글
7장 데이터 정제 - 빠진 데이터, 이상한 데이터 제거하기 (1) (0) | 2023.04.14 |
---|---|
6장 자유자재로 데이터 가공하기 (7) (0) | 2023.04.13 |
6장 자유자재로 데이터 가공하기 (5) (0) | 2023.04.11 |
6장 자유자재로 데이터 가공하기 (4) (0) | 2023.04.10 |
6장 자유자재로 데이터 가공하기 (3) (0) | 2023.04.09 |