작업형 1 연습문제 18 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
index '2001' 데이터(행)에서 평균보다 큰 값의 개수를 구하시오.
-> 평균보다 큰 값의 개수를 구한다고 해서 len을 썼는데 코랩에 있는 정답은 sum을 써서 다른 답이 도출 되는 것으로 확인됩니다. len이 아닌 sum이 쓰인 이유가 뭔지 알 수 있을까요?
import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/type1_data2.csv", index_col="year") df.head() df=df.T ma=df[2003].mean() cond1=df[2003]<ma len(cond1)
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. seungji님, 질문하신 내용에 대한 도움을 드리겠습니다.
질문자님께서 ‘index ‘2001’ 데이터(행)에서 평균보다 큰 값의 개수를 구하시오’라는 문제에서 len 대신 sum을 사용하여 결과를 얻는 이유를 궁금해 하셨습니다.
먼저, 조건에 맞는 값의 개수를 구할 때 sum을 사용하고 있는 이유는 다음과 같습니다:
조건 비교에 따른 Boolean 결과:
df[2003] < ma를 평가하면, 각 요소에 대해 조건을 만족하면True, 아니면False를 결과로 반환하는 Boolean Series가 생성됩니다.Boolean to Integer 변환:
Python에서True는 1로,False는 0으로 취급됩니다. 따라서, 이 Boolean Series를sum함수에 전달하면 조건을 만족하는 값의 개수를 계산하는 효과가 있습니다. 즉, “True”의 수를 누적해서 개수를 반환하게 되는 것입니다.len 함수의 오용:
len(cond1)을 호출하면 조건에 상관없이 전체 데이터의 길이를 반환하게 됩니다.cond1은 단순히True와False값들의 배열이므로 배열의 길이는 원래 데이터의 원소 수와 같아지기 때문에 조건에 따른 개수 파악에는 적합하지 않습니다.
따라서, 조건에 부합하는 값의 개수를 구하는 작업에서는 sum을 사용하는 것이 맞습니다. 이 방식은 cond1.sum()을 통해 2003 데이터 열에서 평균보다 작은 값의 개수를 정확하게 구할 수 있습니다.
유사한 문제 해결 사례는 아래 링크를 통해 확인하실 수 있습니다:
- 안녕하세요! sum 함수를 쓸 곳에 len을 썼다가 의문이 생겨서 질문드립니다!: 이 게시물에서는
sum과len의 차이에 대해 깊이 있게 설명하고 있어 도움이 될 것입니다.
이유를 이해하시고 코드 작성에 도움이 되셨기를 바랍니다. 추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 연장가능여부 문의드립니다!
0
17
1
수강기간 연장 문의드립니다!
0
23
1
최빈값
0
21
2
수강 가이드라인
0
18
2
수강 연장 가능 여부 문의
0
40
2
강의 구매했는데 교재 필수일까요
0
27
2
수강기간 연장 가부 문의드립니다.
0
25
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
32
2
작업형2 모의문제2에서 drop이랑 인코딩
0
41
3
인코딩을 다 꼭 해봐야하는지
0
43
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
58
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
51
2
수강기간 연장
0
69
2
29강 작업2형의 이상치 처리
0
67
2
수강기간 연장 문의드립니다!
0
65
2
9월에 실기출제기준 개정내역에 신설된부분
0
56
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
67
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
57
1
random_state 값
0
73
2
강의 연장 문의 드립니다.
0
68
2
강의 연장 문의
0
61
2
오징어게임
0
71
1
object 컬럼이 여러 개인 경우 인코딩 전처리 방법
1
53
2





