Seongho Jang
Datamanim 전처리 연습(중) 본문
모의고사 1회차
Question10
각 job에 따라 divorced/married 인원의 비율을 확인 했을 때 그 값이 가장 높은 값은?
df2 = df.groupby(['job', 'marital']).size().reset_index()
df2.columns = ['job', 'marital', 'count']
df2 = df2.pivot(index = 'job', columns = 'marital', values = 'count')
df2.columns = df2.columns.values
df2['rate'] = df2['divorced'] / df2['married']
df2.sort_values(by = 'rate', ascending = False)
pivot을 걸면 컬럼명이 list 형식으로 들어가므로
df2.columns = df2.columns.values로 컬럼명을 바꿔줘서 인덱싱하기
- Pivot / Melt / Stack / Unstack 함수 알아두기
작업1유형 연습문제 - 현대 차량 가격 분류
Question 101
정보(row수)가 가장 많은 상위 3차종의 price값의 각 평균값은?
df2 = df.groupby('model').size().sort_values(ascending = False)[:3]
df3 = df.loc[df['model'].isin (df2.index),:]
df3.groupby('model')['price'].mean().reset_index()
객체를 많이 안 만들고 한줄로 깔끔하게 풀고싶다
문제에서는 모델이 3개였지만 여러 개가 나올경우 일일이 조건을 타이핑하기 어려우니
isin메서드를 꼭 알아두기!
'Data Science Lv.2' 카테고리의 다른 글
Pandas 전처리 연습 모음 (0) | 2023.01.30 |
---|---|
전체 내용 정리 (0) | 2023.01.22 |
Ch.14 다중 회귀분석 (0) | 2023.01.14 |
Ch.9 - 10. 데이터 전처리(3) : 정렬, 변환, 사용자 정의함수 (0) | 2023.01.08 |
Ch.8 데이터 전처리(2): 데이터 병합 (0) | 2023.01.08 |