• 카테고리

    질문 & 답변
  • 세부 분야

    자격증 (데이터 사이언스)

  • 해결 여부

    해결됨

sum(), len(), count() 각각 언제 사용되는지 차이가 궁금합니다

24.05.16 16:08 작성 조회수 104

0

  • 합계, 길이, 개수 이런식으로 문제에 명시되지 않고

  • 데이터 수를 구하여라 이런 식으로 적혀있을 때,

  • sum이 사용된 적도 있고 len이 사용된 적도 있는데

  • sum(), len(), count() 각각 언제 사용되는지 궁금합니다

  • 수치형, 범주형에 따른 사용 가능 여부 차이도 있나요??

답변 2

·

답변을 작성해보세요.

0

sum()

데이터 프레임에서 조건에 따른 수를 알고 싶다 -> sum()을 사용하는 것이 좋습니다.

cond = df['a'] > 10

sum(df[cond]) 의 결과는 True(1)의 총합을 계산합니다.

전체 데이터 10개 중 10보다 큰 값이 5개라면 5가 출력됩니다.

 

len()

데이터프레임의 행의 수를 알고 싶다면 len()을 사용합니다.

cond = df['a'] > 10

len(df[cond]) 을 사용하면 False도 한 행이므로 모두 계산되어 나옵니다.

전체 데이터 10개가 출력됩니다.

 

count()

count()는 결측치를 제외하고 카운트합니다.

따라서 결측치 제거 후 len() 적용한 것과 동일합니다.

혹시 count() 사용하는 풀이를 혹시 제가 한 적 있을까요??
자칫 잘못 카운트할 가능성이 있어 입문자에게는 결측치 제거 후 len()을 사용하는 것을 추천합니다.


수치형 데이터: sum(), len(), count() 모두 사용 가능

범주형 데이터: len(), count()는 사용 가능하지만 sum()은 의미 없음

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.05.16

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

soyoung an님께서 질문하신 sum(), len(), count() 함수의 사용 시나리오와 차이점에 대해 답변드리겠습니다.

  • sum() 함수는 주로 수치 데이터의 총합을 구할 때 사용됩니다. 예를 들어, 어떤 컬럼의 모든 값들을 더하는 경우에 사용할 수 있습니다. sum()은 특정 조건을 만족하는 데이터의 값들의 합도 계산할 수 있는데, 이때 조건에 따라 True 또는 False 값이 반환되고, Python에서 True는 1로, False는 0으로 간주되어 조건을 만족하는 항목들만 수치적으로 합을 구할 수 있습니다.

  • len() 함수는 주로 리스트, 튜플, 데이터프레임 등의 전체 길이 또는 크기를 구할 때 사용됩니다. 예를 들어, 데이터프레임에 존재하는 행의 개수를 파악하고자 할 때 len() 함수를 활용할 수 있습니다. 조건에 따라 필터링된 결과의 총 갯수를 구하는 경우에도 사용됩니다.

  • count() 함수는 주로 판다스(Pandas) 등의 라이브러리에서 특정 컬럼 내부에서 NaN이 아닌(non-null) 값들의 총 개수를 세는 데 사용됩니다. 하나의 컬럼이나 데이터프레임 전체에서 사용할 수 있으며, 특정 조건을 만족하는 데이터의 수를 세는 데에도 유용하게 사용됩니다.

sum, len, count 각각의 사용 예시와 차이점에 관한 유사한 질문에 대한 답글을 찾았습니다:

  • len,sum에서는 lensum의 기본적인 사용 사례와 차이점에 대해 설명하고 있습니다: len은 전체 행의 수나 특정 리스트의 길이를 반환하는 반면, sum은 조건식을 만족하는 항목들의 합을 계산할 때 사용됩니다.

  • 여러가지 질문에서는 sum() 함수의 사용 예와 count() 함수에 대한 설명 없이 다른 문맥에서의 sum의 활용 방법을 설명합니다.

수치형과 범주형 데이터에 관련해서는, sum() 함수는 주로 수치형 데이터에 사용되며 len()count()는 두 데이터 유형 모두에 사용될 수 있지만, 그 사용 목적과 상황에 따라 달라집니다. 예를 들어, 특정 범주형 데이터 내의 고유한 값들의 개수를 세기 위해서는 count() 함수가 유용할 수 있습니다.

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