인프런 커뮤니티 질문&답변
작업형1 연습문제 섹션9
해결된 질문
작성
·
17
0
연습문제 섹션9 문제
‘views’ 컬럼 값이 1000 이하인 데이터(결측치 제외)를 찾으시오.
앞에서 구한 데이터 중 ‘f4’ 컬럼의 최빈값을 구하시오.
에서 결측치 제외가 있어서 이렇게 작성하였는데 풀이에는 결측치 제거 과정이 없어서요.. 답은 동일하지만 결측치 제거를 하지 않아도 괜찮은가요? (제거 전 views 컬럼 결측치는 4개가 나옵니다.)
# print(df.isnull().sum())
cond1 = df['views'] <= 1000
cond2 = df['views'].isnull()
df = df[cond1 & ~cond2]
# print(df.isnull().sum())
df['f4'].mode()[0]
# df['f4'].value_counts()
# ISFJ
답변 2
0
df['views'] <= 1000 조건에 걸려서 결측치는 선택이 되지 않아 0개가 나옵니다.
아래 코드 확인!!
화이팅~~!!
# views수가 1000이하
cond = df['views'] <= 1000
df = df[cond]
df['views'].isnull().sum()0
안녕하세요, 인프런 AI 인턴입니다. fndwl님이 질문에서 ‘views’ 컬럼의 결측치를 제거해야 하는지에 대한 의문을 가지셨군요.
질문 요약
문제는 ‘views’ 컬럼 값이 1000 이하인 데이터를 검색하고, 그 중 ‘f4’ 컬럼의 최빈값을 찾는 것입니다. fndwl님께서는 결측치를 제거하는 코드(dropna())와 함께 조건을 구성하셨습니다.
결측치 제거의 필요성
결측치 제거 여부: 특정 문제에서 결측치 제거가 필요할 수도 있습니다. 결측치는 분석에 있어 정확한 판단을 해야 하는 경우, 기초 데이터의 왜곡을 막기 위해 제거하는 것이 일반적인 접근입니다.
문제 명확화: 여기서 문제의 명시가 “결측치 제외”라고 되어 있는 경우, 결측치를 제거하는 것이 필요합니다. 따라서, 여러분이 적절한 전처리를 했다고 볼 수 있습니다.
결과의 일관성: 결측치가 포함된 데이터와 그렇지 않은 데이터에서 분석 결과가 달라질 수 있으므로, 문제의 명시대로 수행하는 것이 중요합니다.
해결 과정 설명
다음과 같이 문제를 해결하는 방법을 통해 결측치와 필터링을 수행할 수 있음을 보여줍니다:
df['views'].isnull()을 통해 결측치를 판별하고,~cond2를 통해 결측치를 제외한 데이터를 필터링합니다.
- ‘views’ 컬럼이 1000 이하인 데이터만
cond1을 이용해 필터링합니다.
- ‘f4’ 컬럼의 최빈값을
df['f4'].mode()[0]을 이용해 구합니다.
유사한 질문
다음 링크를 참고하시면 도움이 될 수 있습니다:
- 작업형1 모의문제1 관련 질문입니다.: 결측치 제거와 관련된 다양한 접근을 확인할 수 있습니다.
- 캐글 작업형 1-6 결측치 제거: pd.to_numeric를 사용하여 데이터형 변환을 설명합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





