인프런 커뮤니티 질문&답변

석구님의 프로필 이미지
석구

작성한 질문수

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

예시문제 작업형1

len과 sum의 차이

해결된 질문

작성

·

232

0

조건에 len을 쓰면 조건 값의 길이가 아닌 전체 행의 길이가 나오는데 len은 sum과 같이 조건식 계산 출력이 안되나요??

조건의 합을 구하려면 sum만 가능한가요?

print(sum(df['qsec'] >0.5))

-> 9

print(len(df['qsec'] >0.5))

-> 32

 

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

len과 sum

조건의 결과는 True와 False입니다. True는 1, False는 0이에요

sum()을 사용하면 조건에 맞는 수만 구할 수 있어요!

 

len() 행의 총 수를 계산합니다.

따라서 False도 1개로 카운트 해요.

따라서 조건이 전혀 적용되지 않아요. 만약 len()을 사용하려면

print(len(df[df['qsec'] >0.5])) 과 같이 조건이 적용된 데이트프레임을 카운트하면 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다.

석구님의 질문은 len 함수와 sum 함수를 사용하여 특정 조건을 만족하는 데이터의 개수를 어떻게 계산하는지에 대한 것으로 이해됩니다. 이에 대해 직접적으로 답변할 수 있는 정보를 제공드리겠습니다.

len 함수는 전체 요소의 개수를 반환합니다. 예를 들어, len(df['qsec'] > 0.5)의 경우, 조건식의 평가 결과(True 또는 False) 전체의 수를 반환하기 때문에 데이터프레임의 전체 행 길이를 반환합니다. 반면, sum 함수는 True와 False의 값을 각각 1과 0으로 취급하여, True(조건을 만족하는 경우)의 합계를 구합니다. 따라서 sum 함수를 사용하면 조건을 만족하는 데이터의 개수를 계산할 수 있습니다.

이와 관련하여, 비슷한 질문에 대한 답변을 찾을 수 있었습니다:

  • “4회 기출유형 작업형1 2번문제”에서는 lensum 함수의 사용 차이와 각각의 활용법에 대해 설명하고 있습니다. 질문에서 언급된 예시는 len을 사용할 때, true 조건을 만족하는 데이터 프레임을 먼저 만든 후 그 길이를 구하는 방식입니다. 이와 달리 sum은 조건의 결과(True, False)를 직접 합산하여 조건을 만족하는 데이터 수를 구할 수 있는 방식입니다.

추가적인 예시는 “자주 활용되는 판다스 예제 quiz 관련 질문”에서도 찾아볼 수 있습니다. 여기서는 특정 조건(가격이 5000 이상인 데이터의 수)을 구할 때 lensum의 사용법과 결과의 차이에 대해 토론합니다.

이 내용들을 바탕으로, len(df['qsec'] > 0.5)는 조건식의 결과 개수를 모두 세는 것과 같고, sum(df['qsec'] > 0.5)는 조건을 만족하는 경우만 카운트하여 합산하는 차이가 있음을 알 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

석구님의 프로필 이미지
석구

작성한 질문수

질문하기