강의

멘토링

로드맵

Inflearn brand logo image

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

ejrwls10님의 프로필 이미지
ejrwls10

작성한 질문수

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

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

코드 질문.

해결된 질문

작성

·

29

0

판다스5 강의 2:51 에서 아래 코드가 있는데요.

여기서 원산지,메뉴 기준으로 그룹핑 하면 정상인데

df.groupby(['원산지','메뉴']).agg(['mean','sum'])

원산지, 칼로리를 하면 에러가 뜨더라구요. 왜그런거죠? 왜 칼로리를 넣으면 안되는건가요??

답변 2

0

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

보통 숫자형 데이터는 그룹을 나누는데 적절하지 않아 집계할 때 사용해요 🙂

0

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

판다스의 groupbyagg 함수 사용 시, 특정 컬럼이 그룹화 가능한지 여부에 따라 오류가 발생할 수 있습니다. 우선 원산지메뉴는 그룹화를 통해 다양한 집계를 수행하기 적절한 텍스트 컬럼이지만, 칼로리 컬럼의 경우는 다른 형태의 값을 가질 수 있습니다.

에러의 주요 원인은 그룹화 기준으로 사용하는 컬럼들이 모두 카테고리 성격을 갖고 있어야 합니다. 즉, 일반적으로 숫자로 되어 있는 칼로리를 ‘그룹화 기준’으로 사용하려고 하면, 오류가 발생합니다. 칼로리 컬럼은 그룹화의 ‘기준’이 아닌 ‘대상값’으로 합계나 평균을 계산하는 데 사용해야 하는 값입니다.

칼로리 컬럼을 사용하려면 대상값으로 사용하는 다음 예제를 참고해주세요:

df.groupby(['원산지', '메뉴'])['칼로리'].agg(['mean', 'sum'])

이 경우 원산지메뉴로 그룹화한 각 집합에 대해 칼로리의 평균 및 합계를 구해주는 형태가 됩니다.

비슷한 질문과 해결 방법을 다음 링크에서 찾아보실 수 있습니다:
- groupby 실행시 오류가 발생해요
- grouby().mean()오류

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

ejrwls10님의 프로필 이미지
ejrwls10

작성한 질문수

질문하기