본문 바로가기

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

[빅데이터분석기사][작업형1] 5회 기출문제 풀이(기초통계, 정렬)

320x100

* 퇴근후딴짓 님의 강의를 참고하였습니다. *

 

[문제1] 종량제 봉투 종류가 '규격봉투'이고, 종량제 봉투 용도가 '음식물쓰레기'인 2L가격 평균을 출력하시오 (단, 가격0 제외, 반올림 후 정수 출력)

import pandas as pd
df = pd.read_csv("5-1price.csv")

# print(df.head(3))
# print(df.info())
# print(df.shape)

cond1 = df['종량제봉투종류'] == '규격봉투'
cond2 = df['종량제봉투용도'] == '음식물쓰레기'
cond3 = df['2ℓ가격'] > 0

df = df[cond1&cond2&cond3]
print(round(df['2ℓ가격'].mean()))
320x100

[문제2] bmi를 계산하고, 수치가 정상인 사람 수와 위험체중인 사람 수의 차이를 절대값으로 구하시오 (정수로 출력)

 - bmi(체질량지수): 몸무게(kg) / 키(m)의 제곱 단위

 - Height: cm

 - Weight: kg

 - 저체중 : BMI 18.5미만

 - 정상체중 : BMI 18.5이상 ~ 23미만

 - 과체중 또는 위험체중 : BMI 23이상 ~ 25미만

 - 비만체중 : 25이상

import pandas as pd
df = pd.read_csv('5-2bmi.csv')

# print(df.head(3))
# print(df.info())
# print(df.shape)

df['bmi'] = df['Weight'] / (df['Height']/100)**2 # 제곱 표현하는 방법

cond1 = (df['bmi'] >= 18.5) & (df['bmi'] < 23) # 정상 (조건 2개 주는 방법)
cond2 = (df['bmi'] >= 23) & (df['bmi'] < 25) # 위험체중

print(abs(len(df[cond1]-df[cond2])))
반응형

[문제3] 순전입학생이 가장 많은 학교의 전체학생수 (순전입 학생 = 전입 학생 - 전출 학생)

import pandas as pd
df = pd.read_csv("5-3student.csv")

# print(df.head(3))
# print(df.info())

df['순전입 학생'] = df['전입학생수(계)']-df['전출학생수(계)']

df = df.sort_values('순전입 학생', ascending = False)
# print(df.head())
print(df.iloc[0,-2])
320x100
반응형