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

[빅분기 실기] 작업형 1유형 - 2회 기출 예제 풀기 본문

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

[빅분기 실기] 작업형 1유형 - 2회 기출 예제 풀기

슈빔멘 2021. 12. 3. 17:17

문제1

  • 데이터셋(basic1.csv)의 'f5' 컬럼을 기준으로 상위 10개의 데이터를 구하고,
  • 'f5'컬럼 10개 중 최소값으로 데이터를 대체한 후,
  • 'age'컬럼에서 80 이상인 데이터의'f5 컬럼 평균값 구하기
# 내림차순
df = df.sort_values('기준열', ascending=False)

# 최소값 찾기
min = df['f5'][:10].min()

# 최소값으로 대체하기
df['f5'][:10] = min

# 평균값
df[df['age'] >= 80]['f5'].mean()

 

문제2

  • 데이터셋(basic1.csv)의 앞에서 순서대로 70% 데이터만 활용해서,
  • 'f1'컬럼 결측치를 중앙값으로 채우기 전후의 표준편차를 구하고
  • 두 표준편차 차이 계산하기
# 앞의 데이터 70%만 가져오기
df70, df30 = np.split( df, [int( 0.7 * len(df) )] )

# 결측치 
df70.isnull().sum()

std1 = df70['f1'].std()
df70['f1'] = df70['f1'].fillna(df70['f1'].median())
std2 = df70['f1'].std()

 

문제3

  • 데이터셋(basic1.csv)의 'age'컬럼의 이상치를 더하시오!
  • 단, 평균으로부터 '표준편차*1.5'를 벗어나는 영역을 이상치라고 판단함
# 편차와 평균 구하기
std = df['age'].std() * 1.5
mean = df['age'].mean()

# 이상치 범위 구하기
min_out = mean - std
max_out = mean + std
out_range = df[(df['age']>max_out)|(df['age']<min_out)]

# 이상치 값들의 합 구하기
out_range['age'].sum()