4-2 type1 작업형1 6번 문제 문의드립니다.
안녕하세요, 수강생입니다.
학습 중에 궁금한 사항이 있어 문의글 남깁니다.
문제6 (데이터는 members.csv)
'age' 컬럼의 이상치(소수점 나이와 음수나이, 0포함)를 제거하고
제거 전 후의 views 컬럼 표준편차를 더하시오 (최종 결과 값은 소수 둘째자리까지 출력, 셋째자리에서 반올림)
[ 풀이 코드 ]
# 풀이
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))답은 : 8420.69 가 나왔고,
[ 저의 코드 ]
import pandas as pd
df = pd.read_csv('members.csv')
# print(df.head())
# print(df['age'])
r1 = df['views'].std()
df['age'] = df['age'] > 0
df['age'] = df['age'] == round(df['age'],0)
r2 = df['views'].std()
print(round(r1+r2, 2))저의 답은 8341.72 가 나왔는데....
저의 질문은 'age' 컬럼의 이상치를 제거하면 제거한 값을 'age' 컬럼에 그대로 덮어쓰고 코드를 작성하는게 맞을 것 같은데 풀이는 cond 라는 변수로 받고 전체 df 데이터에 이상치 제거 값을 덮어쓰셨더라구요.
어떠한 차이가 있는지 궁금합니다..
답변 1
1
df['age'] = df['age'] > 0: 'age' 컬럼 자체를 나이가 0보다 큰지의 여부를 나타내는 불리언 값으로 바꿉니다.df['age'] = df['age'] == round(df['age'],0): 이전 단계에서 이미 'age' 컬럼을 불리언 값으로 바꾼 후에 이 조건을 적용하므로, 이 코드는 아무런 의미가 없습니다. 이미 'age' 컬럼은 True/False 값으로만 이루어져 있기 때문이에요.
작업형2 모의문제1 (30강)
0
18
1
수강 기간 연장 문의 드립니다.
0
22
1
수강 계획과 관련해 문의 드립니다.
0
20
1
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
47
2
작업형 1 -연습문제 4-6
0
34
2
작업형 1 유형 부분
0
40
2
작업형 1 (삭제예정, 구 버전)
0
50
2
수강기간 연장 문의드립니다.
0
35
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
36
3
수강기간 연장 문의드립니다.
0
38
1
인덱스 슬라이싱
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





