수영장의 수영_데이터 분석 블로그

[빅분기 실기] 하루에 끝내는 작업형 1유형 본문

자격증/빅데이터분석기사

[빅분기 실기] 하루에 끝내는 작업형 1유형

슈빔멘 2021. 11. 28. 20:30

돌았나

그래도 일주일도 안 남았으므로 끝내야만 함

당연함


작업형 1유형 개요

사실 1유형은 처음부터 끝까지 완성된 분석결과를 내는 문제가 아니기 때문에 그리 어렵지 않다

문제는 라이브러리 함수... 다들 외우진 않ㅇ잔아여?

그때그때 구글링하지 않나요,,,?

난 loc / iloc도 종종 헷갈리는데 문제는 실기시험에선 검색이 불가능하다

어찌보면 당연함

 

암튼 그래서 1유형의 관건은 신속정확히 함수를 외우는 것이 되겠다.

 

예제 1) 공식예제 mtcars.csv

문제 : mtcars 데이터셋(mtcars.csv)의 qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후 0.5보다 큰 값을 가지는 레코드 수를 구하시오.

 

1. 데이터를 읽는다

import pandas as pd

df = pd.read_csv('data/mtcars.csv')

아주 간단함

 

2. 최대최소척도로 변환한다

df = df.iloc[:, 1:]
# 1열은 문자형이기 때문에 제외

from sklearn.preprocessing import MinMaxScaler

minmax = MinMaxScaler() # 민맥 불러서 저장
minmax.fit(df) # 데이터에 적용해 척도변환

scaled_df = pd.DataFrame(minmax.transform(df), columns = df.columns)
# 변환데이터를 scaled_df에 데이터프레임 형식으로 저장

그렇다

은근 시험장에서 헷갈린다

fit ? transform ? 둘이 무슨 차이였지?

난 이러고 있을게 뻔함

 

minmax.fit : 

minmax.transform :

 

 

 

3. 0.5이상인 데이터 수 구한다

answer = len(scaled_df[scaled_df.qsec > 0.5])
print(answer)
# 0.5보다 큰 데이터 수 구하기

어렵지 않다

 

 

다른 문제들도 대부분 이 순서인 것 같다.

읽고 -> 변환 -> 계산

 

4. 그러나 실제 시험장이라면

------------------------------------
# library 임포트 동일

df = pd.read_csv('data/mtcars.csv')

minmax = MinMaxScaler()
df['qsec'] = minmax.fit(df['qsec'])

print(sum([df['qsec']>0.5))

간단히 qsec 열만 척도변환해 간단히 sum 할 것

 

탐색에 필요한 명령어들

df.head() : 상위 5행까지 보여줌 => 어떤 컬럼이 숫자형/문자형인지 확인할 때 사용 등

df.value_counts() : 항목별 갯수 세줌 => 보통 한 컬럼을 지정해서 사용

df.describe() : 속성 개략적으로 브리핑

...(추가예정)

 

 

유형별로 포스팅하면서 암기 시작합니다.

...

일주일의기적