inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

4-1 작업형 예시 질문 있습니다

해결된 질문

312

스툼

작성한 질문수 4

0

문제2

문제가 지금 이런 형식인데요.

제가 궁금한 것은, 결측치의 크기를 판단하는 판단하는 위치입니다.

'f1' 칼럼을 dropna 하게되면 다른 행들도 영향을 받아서 결측치가 들어있는 행도 같이 날라가게 되는데

각 칼럼별 결측치의 크기를 판단하는 위치는 모든 작업을 수행하기 전에 하는 것이 맞을까요?

 

<제가 푼 코드>

# your code

import pandas as pd

import numpy as np

pd.set_option('display.max_columns', None)

# file load

file_path = "/content/drive/MyDrive/Colab Notebooks/빅데이터 분석기사/1. 작업형1/"

df = pd.read_csv(file_path+"members.csv")

check = []

# find na over 30%

for col in list(df.columns):

check.append(df[col].isnull().sum()/len(df))

for col, check in zip(list(df.columns), check):

if check >= 0.3:

df = df.dropna(subset=col)

elif check < 0.3 and check >= 0.2:

df[col] = df[col].fillna(df[col].mode()[0])

print(len(df[df['f3'] == 'gold']))

 

<강의에서 알려준 코드>

# 풀이

import pandas as pd

df = pd.read_csv("members.csv")

# print(df.isnull().sum())

# print(len(df) * 0.3)

# f1 삭제

# f3 최빈값

# print(df.shape)

df = df.dropna(subset=['f1'])

# print(df.shape)

# print(df.head())

df['f3'] = df['f3'].fillna(df['f3'].mode()[0])

# print(df.head())

# df.isnull().sum()

print(sum(df['f3'] == 'gold'))

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 1

0

퇴근후딴짓

문제에서 의도한 바는
결측치가 30%이상 과 30~20%를 구분하고자 했어요!

데이터를 가공하기 전의 결측치 비율이 맞습니다.

여러 작업을 한 문제에 담아서 표현하려다보니 말씀하신대로도 생각할 수 있겠네요!
의견 감사합니다. 문장을 다듬어 보도록 하겠습니다.

작업형2 모의문제1 (30강)

0

20

2

수강 기간 연장 문의 드립니다.

0

24

2

수강 계획과 관련해 문의 드립니다.

0

22

2

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

47

2

작업형 1 -연습문제 4-6

0

34

2

작업형 1 유형 부분

0

40

2

작업형 1 (삭제예정, 구 버전)

0

50

2

수강기간 연장 문의드립니다.

0

36

2

2유형 레이블 인코딩 VS 원핫 인코딩

0

36

3

수강기간 연장 문의드립니다.

0

42

2

인덱스 슬라이싱

0

35

2

질문 드립니다.

0

50

2

강의 내용 관련 질문드립니다~

0

46

2

수강 연장 문의

0

63

2

강의자료 일괄 다운로드

0

58

2

수강기간 연장 문의드립니다

0

48

2

list 문제 질문드립니다~

0

38

2

빅분기 실기 12회 재도전

0

62

2

강의 기간 연장 가능여부 검토 요청건

0

50

2

수강기간 연장 문의 드립니다

0

46

2

수강기간 연장 문의드립니다

0

52

2

질문이요

0

57

2

수강기간 연장 문의드립니다.

0

60

2

문제 3-2 질문드립니다

0

47

2