Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Seongho Jang

Datamanim 전처리 연습(중) 본문

Data Science Lv.2

Datamanim 전처리 연습(중)

seonghojang 2023. 1. 28. 21:03

모의고사 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메서드를 꼭 알아두기!