[Python] 빅데이터분석기사 - 유형1 ⑤

순동·2022년 2월 16일
0

📝 21번

주어진 데이터에서 'f5'컬럼을 표준화(Standardization (Z-score Normalization))하고 그 중앙값을 구하시오.

💻 풀이

import pandas as pd
import numpy as np

basic = pd.read_csv('data/basic1.csv')

from sklearn.preprocessing import StandardScaler

scale = StandardScaler()
basic['f5'] = scale.fit_transform(basic[['f5']])

result = basic['f5'].median()
print(result)

0.260619629559015


📝 22번

주어진 데이터에서 20세 이상인 데이터를 추출하고 'f1'컬럼을 결측치를 최빈값으로 채운 후, f1 컬럼의 여-존슨과 박스콕스 변환 값을 구하고, 두 값의 차이를 절대값으로 구한다음 모두 더해 소수점 둘째 자리까지 출력(반올림)하시오.

💻 풀이

import pandas as pd
import numpy as np
from sklearn.preprocessing import power_transform

basic = pd.read_csv('data/basic1.csv')

basic = basic[basic['age'] >= 20]
basic.isnull().sum()  # 26개

basic['f1'] = basic['f1'].fillna(basic['f1'].mode()[0])
basic.isnull().sum()  # 0개

basic['yeo'] = power_transform(basic[['f1']], standardize=False)
basic['box'] = power_transform(basic[['f1']], method="box-cox", standardize=False)

result = round(sum(abs(basic['yeo'] - basic['box'])), 2)
print(result)

39.17


📝 23번

주어진 데이터에서 'f5'컬럼을 min-max 스케일 변환한 후, 상위 5%와 하위 5% 값의 합을 구하시오.

💻 풀이

import pandas as pd
import numpy as np

basic = pd.read_csv('data/basic1.csv')

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()

basic['f5_scale'] = scaler.fit_transform(basic[['f5']])

lower = basic['f5_scale'].quantile(0.05)
upper = basic['f5_scale'].quantile(0.95)

result = lower + upper
print(result)

1.0248740983597389


📝 24번

주어진 데이터에서 상위 10개 국가의 접종률 평균과 하위 10개 국가의 접종률 평균을 구하고, 그 차이를 구해보시오. (단, 100%가 넘는 접종률 제거, 소수 첫째자리까지 출력)

💻 풀이

import pandas as pd

covid = pd.read_csv('data/covid-vaccination-vs-death_ratio.csv', index_col=0)

covid = covid.groupby('country').max()
covid = covid.sort_values('ratio', ascending=False)
covid = covid[~(covid['ratio'] >= 100)]

top = covid['ratio'].head(10).mean()
bottom = covid['ratio'].tail(10).mean()

result = round(top - bottom, 1)
print(result)

87.8


📝 25번

주어진 데이터 중 basic1.csv에서 'f4'컬럼 값이 'ENFJ'와 'INFP'인 'f1'의 표준편차 차이를 절대값으로 구하시오.

💻 풀이

import pandas as pd
import numpy as np

basic = pd.read_csv('data/basic1.csv')

enfj = basic[basic['f4'] == 'ENFJ']
infp = basic[basic['f4'] == 'INFP']

enfj = enfj['f1'].std()
infp = infp['f1'].std()

result = abs(enfj - infp)
print(result)

5.859621525876811


0개의 댓글