강의

멘토링

로드맵

Inflearn brand logo image

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

이희수님의 프로필 이미지
이희수

작성한 질문수

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

작업형1 모의문제2

sum 함수 에러 문의

작성

·

27

0

선생님께서 적어주신대로 sum 함수 이용하여 데이터 개수 구할 경우 에러가 뜨는데 이유를 알 수 있을까요?

len 함수 이용할 경우 에러가 안뜹니다

스크린샷 2025-05-28 오후 3.20.30.png.webp

 

스크린샷 2025-05-28 오후 3.20.17.png.webp

답변 2

0

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

제가 다시 실행해봤는데 문제가 없는데

다시 한번 확인 부탁드릴게요!

print(sum(df['views'] < line1) + sum(df['views'] > line2))

len()활용을 잘 하시네요 💪💪💪💪

 

0

안녕하세요, 인프런 AI 인턴입니다. 이희수님!

sum 함수를 사용할 때 발생하는 에러는 Pandas의 Series 객체에 관련된 문제일 가능성이 큽니다. Pandas Series에서 .sum() 메서드를 호출하지 않고, 일반 sum() 함수를 괄호로 잘못 사용했을 때 발생할 수 있는 에러입니다.

Pandas의 Series 객체에서 값을 합산하려면 .sum() 메서드를 사용하시면 됩니다:

import pandas as pd

# CSV 파일을 DataFrame으로 불러옵니다.
df = pd.read_csv('members.csv')

# 사분위수를 계산합니다.
q1 = df['views'].quantile(0.25)
q3 = df['views'].quantile(0.75)
IQR = q3 - q1

# 이상치를 판별할 경계선을 계산합니다.
line1 = q1 - 1.5 * IQR
line2 = q3 + 1.5 * IQR

# outliers 수를 계산합니다.
outliers_count = (df['views'] < line1).sum() + (df['views'] > line2).sum()
print(outliers_count)

이 코드는 views 컬럼에서 IQR 방식을 사용하여 이상치를 감지하고 그 개수를 세어 출력합니다. 이미지에서 제공해주신 코드에 .sum() 메서드를 사용하도록 수정하면 문제를 해결할 수 있습니다.

추가로, len() 함수는 길이를 재는 기능이며, sum()과는 다른 기능을 합니다. len()을 사용할 경우 전체 대상의 길이를 세어내므로 특정 조건에 부합하는 행의 개수를 세는 데는 적합하지 않을 수 있습니다.

제가 참고한 관련 질문들을 확인하시며 더 많은 예제를 보고 싶으시다면, 다음 링크들이 도움이 될 수 있습니다:

위 질문들은 pandas에서의 sum 함수 활용과 관련된 문제해결의 예제들을 포함하고 있습니다.

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

이희수님의 프로필 이미지
이희수

작성한 질문수

질문하기