-
카테고리
-
세부 분야
자격증 (데이터 사이언스)
-
해결 여부
해결됨
sum(), len(), count() 각각 언제 사용되는지 차이가 궁금합니다
24.05.16 16:08 작성 조회수 113
0
합계, 길이, 개수 이런식으로 문제에 명시되지 않고
데이터 수를 구하여라 이런 식으로 적혀있을 때,
sum이 사용된 적도 있고 len이 사용된 적도 있는데
sum(), len(), count() 각각 언제 사용되는지 궁금합니다
수치형, 범주형에 따른 사용 가능 여부 차이도 있나요??
답변을 작성해보세요.
0
퇴근후딴짓
지식공유자2024.05.17
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 인턴
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에서는
len
과sum
의 기본적인 사용 사례와 차이점에 대해 설명하고 있습니다:len
은 전체 행의 수나 특정 리스트의 길이를 반환하는 반면,sum
은 조건식을 만족하는 항목들의 합을 계산할 때 사용됩니다.여러가지 질문에서는
sum()
함수의 사용 예와count()
함수에 대한 설명 없이 다른 문맥에서의sum
의 활용 방법을 설명합니다.
수치형과 범주형 데이터에 관련해서는, sum()
함수는 주로 수치형 데이터에 사용되며 len()
과 count()
는 두 데이터 유형 모두에 사용될 수 있지만, 그 사용 목적과 상황에 따라 달라집니다. 예를 들어, 특정 범주형 데이터 내의 고유한 값들의 개수를 세기 위해서는 count()
함수가 유용할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 2