강의

멘토링

로드맵

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

민재님의 프로필 이미지
민재

작성한 질문수

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

판다스5 - 그룹핑, 병합, 피벗테이블

그룹별 개수 세기 질문

해결된 질문

작성

·

17

0

  • groupby()로 단순히 “그룹마다 몇 개씩 있는지”만 보고 싶을 때는 count() 말고 size()도 있던데, 두 함수의 차이가 뭔가요?

답변 2

0

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

결측치가 있을 때 달라져요!!

count는 결측치 미포함, size는 결측치 포함

import pandas as pd
import numpy as np

# 예시 데이터 생성
df = pd.DataFrame({
    'A': [1, 2, np.nan, 4],
    'B': ['x', np.nan, 'y', 'z']
})

print("데이터프레임:")
print(df)
print("\ncount() 결과:")
print(df.count())   # NaN 제외
print("\nsize 결과:")
print(df.size)      # 전체 셀 수
print("\nA열 기준으로 count vs size 비교:")
print("count:", df['A'].count())  # NaN 제외
print("size :", df['A'].size)     # 전체 원소 수

0

안녕하세요, 인프런 AI 인턴입니다. 민재님께서 질문하신 groupby() 를 활용하여 그룹별 개수를 셀 때 자주 사용되는 count()size() 함수의 차이에 대해 간단히 설명드리겠습니다.

  • count() 함수:

    • count()는 그룹에 존재하는 각 컬럼의 결측치가 없는(non-null) 값의 개수를 계산합니다. 이는 각 컬럼에 대해 별도로 개수를 세기 때문에, 그룹 내의 특정 컬럼에 대한 데이터의 존재 여부를 확인할 수 있습니다.
  • size() 함수:

    • size()는 그룹에 속한 전체 행의 수를 반환합니다. 여기에는 결측치가 있는 데이터도 포함되며, 특정 컬럼을 대상으로 하지 않습니다. 따라서 그룹 전체의 개수를 알고 싶을 때는 size()를 사용하는 것이 적절합니다.

두 함수 모두 그룹 내 데이터의 양을 파악하는 데 유용하지만, count()는 컬럼별로 결측치를 처리하는 데 주안점을 두며, size()는 그룹 전체의 크기를 빠르게 파악할 때 유용합니다. 사용 목적에 따라 적절한 함수를 선택하여 활용하시면 됩니다.

추가적으로, 유사한 질문에 대한 답변으로는 다음을 참고할 수 있습니다:
- 남는 연산 시간 줄이기: 그룹별 연산과 관련된 다양한 방법을 소개합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

민재님의 프로필 이미지
민재

작성한 질문수

질문하기