inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

캐글 T1-23 추가질문

해결된 질문

124

naegahaenaeem

작성한 질문수 5

0

캐글에 올려주신 자료 중 T1-23 문제를 다시 풀어보고 있는데 선생님 답과 다른 답이 나와서 질문 드립니다.

선생님 풀이와 다른 부분은 10번째 값을 찾는 부분만 다른 코드로 했는데요

10번째 값은 88으로 같은데 중복값 제거 후 f1 중앙값이 75로 선생님 풀이의 값 77과는 다르게 나옵니다.

이유가 뭔지 알 수 있을까요?

 

# f1 결측치를 f1을 내림차순으로 소팅했을 때 10번째 인덱스에 위치한 값으로 채움
df=df.sort_values('f1', ascending=False)
df=df.reset_index()
# print(df.head(10))
a=df.loc[9,'f1']
print(a)
# print(df.isnull().sum())
df['f1']=df['f1'].fillna(a)
# print(df.isnull().sum())
# age컬럼의 중복 제거 전 f1중앙값
m1=df['f1'].median()
print(m1)
# age컬럼의 중복 제거 후 f1중앙값
print(df.shape)
df=df.drop_duplicates(subset=['age'])
print(df.shape)
m2=df['f1'].median()
print(m2)
print(abs(m1-m2))

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

답변 1

1

퇴근후딴짓

df.sort_values('f1', ascending=False)로 정렬하고 나서 중복을 제거하면, 제거되는 데이터의 순서가 변경될 수 있습니다.
중복 데이터 발생시 뒤에 나오는 데이터를 삭제는데 소팅된 이후에 삭제를 해서 달라진것이에요!

풀이의 문제는 없고 문제 수정이 필요하네요! 고민해보고 수정할게요 감사합니다.

0

naegahaenaeem

답변 감사합니다!

정렬 후 중복제거한 순서는 선생님과 같은데 코드만 아래와 같이 달라요!

혹시 소팅할 때 작성한 코드로 인해서 값이 달라진 것일까요..?

df.sort_values('f1', ascending=False)

 

# f1데이터에서 10번째 큰 값으로 결측치를 채움
top10 = df['f1'].sort_values(ascending=False).iloc[9]
print(top10)
df['f1'] = df['f1'].fillna(top10)

0

퇴근후딴짓

네 맞습니다.

1

naegahaenaeem

감사합니다! 선생님께서 쓰신 방식대로 고쳐서 써야겠네요!

로지스틱회귀, 회귀

0

25

2

회귀 문제를 풀때 질문입니다.

0

31

1

불균형 처리 후 성능이 더 낮아졌다면,

0

43

2

실기 체험 제2유형 에러 문의

0

34

1

LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요

0

33

2

3번문제 등분산 가정

0

34

2

작업형3 target 형 변환 질문

0

29

2

[작업형1] 연습문제 섹션1 ~ 10 의 section4

0

23

3

원핫인코딩과 레이블 인코딩에서 concat

0

42

2

제2유형 질문입니다.

0

39

2

C()

0

36

2

작업형 2에서 strafity 적용 유무

0

43

2

수강 기간 연장 가능 여부 문의드립니다.

0

45

1

ols

0

36

2

2유형 작성관련 질문(일반 심화)

0

29

2

2유형 작성관련 질문

0

26

2

2유형 object컬럼 개수 다르면

0

36

2

코딩팡질문이요ㅠㅠ

0

36

2

관찰값과 기대값의 개념이 헷갈립니다.

0

19

2

작업형2 ID 컬럼 삭제 질문

0

38

2

2유형 작성관련 질문

0

27

2

memoryerror 질문

0

20

2

작업형 유형2 이렇게 고정 템플릿으로 가져가도 될까요?

0

37

1

ID 삭제 필수 인가요?

0

33

3