t1 2회 기출유형 Python
강의 영상 : https://youtu.be/Jh3rJaZlEg0
문제1
- 데이터셋(basic1.csv)의 'f5' 컬럼을 기준으로 상위 10개의 데이터를 구하고,
- 'f5'컬럼 10개 중 최소값으로 데이터를 대체한 후,
- 'age'컬럼에서 80 이상인 데이터의'f5 컬럼 평균값 구하기
import pandas as pd
df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')
df.head()
A = df.sort_values('f5', ascending=False).head(10)
# print(A) 10번째값 19 id20 11.0 서울 51.0 1 NaN INTJ 91.297791
df.loc[A.index, 'f5'] = A['f5'].min()
result = (df[df['age']>=80]['f5'].mean())
print(result)
문제2
- 데이터셋(basic1.csv)의 앞에서 순서대로 70% 데이터만 활용해서,
- 'f1'컬럼 결측치를 중앙값으로 채우기 전후의 표준편차를 구하고
- 두 표준편차 차이 계산하기
import pandas as pd
from sklearn.model_selection import train_test_split
df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')
x, _ = train_test_split(df, train_size=0.7, shuffle=False)
# print(x.shape, df.shape) (70, 8) (100, 8)
before_x = x['f1']
after_x = x['f1'].fillna(before_x.median())
result = before_x.std() - after_x.std()
print(result)
#3.2965018033960725
문제3
- 데이터셋(basic1.csv)의 'age'컬럼의 이상치를 더하시오!
- 단, 평균으로부터 '표준편차*1.5'를 벗어나는 영역을 이상치라고 판단함
import pandas as pd
import numpy as np
df = pd.read_csv('../input/bigdatacertificationkr/basic1.csv')
#df.head()
A = df['age']
mean, std = A.mean(), A.std()
high = mean + (std * 1.5)
low = mean - (std * 1.5)
result = A[A>high].sum() + A[A<low].sum()
print(result)
#473.5
T1-1. 이상치를 찾아라(IQR 활용)
이상치를 찾아라
데이터에서 IQR을 활용해 Fare컬럼의 이상치를 찾고, 이상치 데이터의 여성 수를 구하시오
- 강의 영상 : https://youtu.be/ipBW5D_UJEo
- 데이터셋 : titanic
- 오른쪽 상단 copy&edit 클릭 -> 예상문제 풀이 시작
- 데이터 위치 "../input/titanic/train.csv" (copy&edit가 아닐 경우 별도로 데이터셋 불러와야 함)
# 라이브러리 및 데이터 불러오기
import pandas as pd
import numpy as np
df = pd.read_csv('../input/titanic/train.csv')
#print(df.head())
Q1, Q3 = df['Fare'].quantile([0.25, 0.75])
IQR = Q3 - Q1
cond1 = df[df['Fare'] < Q1 - (1.5 * IQR)]
cond2 = df[df['Fare'] > Q3 + (1.5 * IQR)]
#print(len(cond1), len(cond2)) 0 116
result = sum(cond2['Sex'] == 'female')
print(result)
#70
Tutorial T1 예시문제 Python
작업형1 예시문제
자동차 데이터 셋에서 qsec 컬럼을 Min-Max Scale로 변환 후 0.5보다 큰 값을 가지는 레코드(row) 수를 묻는 문제입니다.
- data 출처: https://www.kaggle.com/ruiromanini/mtcars
- data 추가방법 : 우측 메뉴 -> +Add data -> mtcar(ruiromanini) ADD
import pandas as pd
data = pd.read_csv('../input/mtcars/mtcars.csv')
print(data.head())
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
A = scaler.fit_transform(data[['qsec']])
result = (A>0.5).sum()
print(result)
#9
t1-2. 이상치를 찾아라 (소수점 나이) Expected Question
이상치를 찾아라(소수점 나이)¶
주어진 데이터에서 이상치(소수점 나이)를 찾고 올림, 내림, 버림(절사)했을때 3가지 모두 이상치 'age' 평균을 구한 다음 모두 더하여 출력하시오
- 데이터셋 : basic1.csv
- 오른쪽 상단 copy&edit 클릭 -> 예상문제 풀이 시작
- 강의 영상 : https://youtu.be/c3Fr9G-ZYdw
t1-16. 분산 Expected Question
# %% [code]
# 주어진 데이터 셋에서 f2가 0값인 데이터를 age를 기준으로 오름차순 정렬하고
# 앞에서 부터 20개의 데이터를 추출한 후
# f1 결측치(최소값)를 채우기 전과 후의 분산 차이를 계산하시오 (소수점 둘째 자리까지)
# - 데이터셋 : basic1.csv
# - 오른쪽 상단 copy&edit 클릭 -> 예상문제 풀이 시작
# - File -> Editor Type -> Script
다시 한번 더 풀어보기

t1-17. 시계열 데이터1 Expected Question
주어진 데이터에서 2022년 월별 Sales 합계 중 가장 큰 금액과
2023년 월별 Sales 합계 중 가장 큰 금액의 차이를 절대값으로 구하시오.
단 Events컬럼이 '1'인경우 80%의 Salse값만 반영함
(최종값은 소수점 반올림 후 정수 출력)
- 데이터셋 : basic2.csv
- 오른쪽 상단 copy&edit 클릭 -> 예상문제 풀이 시작
다시 한번 더 풀어보기

t1-13. 상관관계 구하기 Expected Questions
# %% [code]
# 상관관계 구하기
# 주어진 데이터에서 상관관계를 구하고, quality와의 상관관계가 가장 큰 값과, 가장 작은 값을 구한 다음 더하시오!
# 단, quality와 quality 상관관계 제외, 소수점 둘째 자리까지 출력
# - 데이터셋 : ../input/red-wine-quality-cortez-et-al-2009/winequality-red.csv
# - 오른쪽 상단 copy&edit 클릭 -> 예상문제 풀이 시작
# - 스크립트 방식 권장: File -> Editor Type -> Script
import pandas as pd
import numpy as np
df = pd.read_csv("../input/red-wine-quality-cortez-et-al-2009/winequality-red.csv")
df_corr = df.corr()
df_corr = df_corr[:-1] # 자기자신 상관관계 제외
max_corr=abs(df.corr()['quality'][:-1]).max() #0.47
min_corr=abs(df.corr()['quality'][:-1]).min() #0.013
if max_corr not in df.corr()[['quality']][:-1].values:
max_corr=-max_corr
if min_corr not in df.corr()[['quality']][:-1].values:
min_corr=-min_corr
ans=round(max_corr+min_corr,2)
print(ans)
# 0.49
'PYTHON > 빅데이터분석기사' 카테고리의 다른 글
[캐글-퇴근후딴짓] T2 문제풀이 (코드 저장용) (0) | 2023.11.30 |
---|---|
[캐글-퇴근후딴짓] T3 문제풀이 (코드 저장용) (0) | 2023.11.29 |
빅데이터분석기사 제7회 공지 (0) | 2023.11.26 |
ML_04 (regression s4-19~21 보험 예측) (2) | 2023.11.20 |
ML_04 (regression s4-11~18 웹사이트 방문자 예측) (1) | 2023.11.20 |