728x90
반응형
문제4
- 주어진 데이터에서 자료형(type)이 object인 컬럼은 삭제하고, 결측치는 0으로 대체한다.
- 행 단위로 합한 다음 그 값이 3000보다 큰 값의 데이터 수를 구하시오 ('age', 'f1', 'f2', 'f5', 'views'의 각 행별 합)
👍object 타입의 데이터만 추출하는 방법 + 컬럼명을 갖고옴 ➡️ df.select_dtypes(include='object').columns
👍데이터의 열과 행을 바꾸는 방법 ➡️ df= df.T
# your code
import pandas as pd
import numpy as np
df=pd.read_csv("members.csv")
#해설 --------------
#object 타입을 선택하는 방법 > columns를 안적으면 모든 데이터를 갖고옴
cols = df.select_dtypes(include='object').columns
cols
df = df.drop(cols, axis=1)
df.head()
df=df.fillna(0)
df=df.T
sum(df.sum()>3000)
문제5
- 데이터에서 IQR을 활용해 views 컬럼의 이상치를 찾고, 이상치 데이터의 수를 구하시오
👍이상치를 구하는 방법
➡️ IQR을 먼저 구한다 (df['ex'].quantile(.75)-df['ex'].quantile(.25))
➡️ 각각 분위 별로 계산을 해준다.
line1 = 1분위 - 1.5*IQR
line2 = 3분위 + 1.5*IQR
# 풀이
import pandas as pd
df = pd.read_csv("members.csv")
q3 = df['views'].quantile(.75)
q1 = df['views'].quantile(.25)
IQR = q3 - q1
# print(IQR)
line1 = q1 - 1.5 * IQR
line2 = q3 + 1.5 * IQR
print(sum(df['views'] < line1) + sum(df['views'] > line2))
문제6
- 'age' 컬럼의 이상치(소수점 나이와 음수나이, 0포함)를 제거하고
- 제거 전 후의 views 컬럼 표준편차를 더하시오 (최종 결과 값은 소수 둘째자리까지 출력, 셋째자리에서 반올림)
👍표준편차 구하기 ➡️ df['something'].std()
👍조건을 제외하고 데이터를 구할때 ➡️ df = df[~cond]
👍반올림 적용하기 ➡️round(data,2)
# 풀이
import pandas as pd
df = pd.read_csv("members.csv")
r1 = df['views'].std()
cond = df['age'] <= 0
# print(df.shape)
df = df[~cond]
# print(df.shape)
# print(df.shape)
cond = df['age'] == round(df['age'],0)
df = df[cond]
# print(df.shape)
r2 = df['views'].std()
print(round(r1 + r2, 2))
728x90
'IT&게임 > 빅데이터분석기사(빅분기)' 카테고리의 다른 글
빅데이터분석기사 제2유형 : ② 데이터 전처리 (결측치/이상치) (0) | 2024.06.04 |
---|---|
빅데이터분석기사 제2유형 : ① EDA (0) | 2024.06.04 |
빅데이터 분석기사 - 1유형 예제문제 학습하기(결측치) (1) | 2024.06.02 |
빅데이터분석기사 실기 공부하기- 제1유형 : 데이터 전처리② (0) | 2024.06.01 |
빅데이터분석기사 실기 공부하기- 제1유형 : 데이터 전처리① (0) | 2024.05.30 |
댓글