본문 바로가기
자격증 공부/빅데이터분석기사

빅데이터 분석기사 실기 예제 - 작업형 1유형(6)

by 해모해모 2023. 6. 19.
728x90
반응형

문제 1
데이터셋(basic1.csv)의 'f5' 컬럼을 기준으로 상위 10개의 데이터를 구하고,
'f5'컬럼 10개 중 최소값으로 데이터를 대체한 후,
'age'컬럼에서 80 이상인 데이터의'f5 컬럼 평균값 구하기
import pandas as pd
df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')
# print(df['f5'].head(20))
# print(df.isnull().sum())

df = df.sort_values('f5', ascending = False) # f5기준 내림차순 정렬
# print(df['f5'].head(20))

# print(df['f5'][:10].min()) # 컬럼 10개 중 최소값 찾기 91.29779092
min = df['f5'][:10].min()
df['f5'].iloc[:10] = min # f5 컬럼 10개에 min값 넣어주기

# print(df.head(20))

cond = df['age'] >= 80 # age 컬럼에서 80이상인 데이터를 조건에 넣어주기
print(df['f5'][cond].mean()) # 조건에 맞는 f5 컬럼 평균값 구하기

# 정답 : 62.497747125217394
문제 2
데이터셋(basic1.csv)의 앞에서 순서대로 70% 데이터만 활용해서,
'f1'컬럼 결측치를 중앙값으로 채우기 전후의 표준편차를 구하고
두 표준편차 차이 계산하기
import pandas as pd
df = pd.read_csv("../input/bigdatacertificationkr/basic1.csv")
# print(len(df))

# 데이터 나누기; 세 방법 중 아무거나 선택해도 상관 X 
df = df[:int(len(df)*0.7)] 
df2 = df.iloc[:70]
df3 = df.iloc[70:]

# print(df.isnull().sum())

stdBefore = df['f1'].std() # 결측값 채우기 전 표준편차
# print(stdBefore)

df['f1'] = df['f1'].fillna(df['f1'].median()) # 결측값 채우기
# print(df.isnull().sum()) # 혹시나 해서 결측값 없어졌는지 확인; df['f1']에 다시 안넣어줘서 결측값 그대로일 때가 있음

stdAfter = df['f1'].std() # 결측값 채운 후 표준편차
# print(stdAfter)

print(abs(stdAfter - stdBefore)) # 차이 구하기(혹시 몰라 절댓값 붙임)

# 정답 : 3.2965018033960725
문제 3
데이터셋(basic1.csv)의 'age'컬럼의 이상치를 더하시오!
단, 평균으로부터 '표준편차*1.5'를 벗어나는 영역을 이상치라고 판단함
import pandas as pd
df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')
# print(df.head())

# age 컬럼 평균 구하기
ageMean = df['age'].mean()
# print(ageMean)

# age 컬럼 표준편차 구하기
ageStd = df['age'].std()
# print(ageStd)

# 이상치 min, max 구하기
min_out = ageMean - (ageStd * 1.5)
max_out = ageMean + (ageStd * 1.5)

# 조건에 대입하기
cond1 = df['age'] < min_out
cond2 = df['age'] > max_out

# 조건에 해당하는 값들 더하기
print(df['age'][cond1 | cond2].sum())

# 정답 : 473.5

출처_퇴근후딴짓(캐글) : https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

출처_퇴근후딴짓(유튜브) : https://www.youtube.com/@ai-study

 

퇴근후딴짓

퇴근 후, 함께 재미있게 성장하는 딴짓 커뮤니티 비 전공, 다른 직무라도 Re-skilling이 필요한 시대입니다. 함께 AI, 머신러닝, 딥러닝을 재미있게 Study 시작해보아요 :) 새롭게 알게 된

728x90
반응형

댓글