해결된 질문
작성
·
42
·
수정됨
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
# 원산지와 메뉴 기준 (평균, 합계)
df.groupby(['원산지','메뉴']).agg(['mean','sum'])
# 원산지와 메뉴 기준 (평균, 합계)
df.groupby(['메뉴']).agg(['mean','sum'], numeric_only=True)
원산지와 메뉴기준으로 agg하여 mean 과 sum을 구했을때 코드를 알려주셨는데요, 원산지 하나의 칼럼의 mean과 sum을 보고싶을 때는 어떻게 해야하나요? 에러가 나네요,, 아마 원산지가 빠져서 문자열이라 그런거같은데, numeric_only = True을 어디에 넣어야하나요?
답변 2
0
만약 그런 상황이라면 "원산지"를 데이터프레임에서 빼고 진행하는 것을 추천해요
numeric_only = True 넣는다면 아래 ai말처럼 별도 함수를 만들어야해 매우 번거롭습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
reverq님, 질문해주신 그룹바이와 agg
함수 적용 방법에 대해 설명드리겠습니다.
groupby
와 agg
함수를 이용한 특정 컬럼에 대한 집계 방법groupby
와 agg
함수를 이용하면 특정 기준으로 데이터를 그룹화한 후, 여러 집계 함수를 동시에 적용할 수 있습니다.예시:
df.groupby(['원산지', '메뉴']).agg(['mean', 'sum'])
이런 코드는 ‘원산지’와 ‘메뉴’를 기준으로 ‘mean’과 ‘sum’을 모든 수치형 컬럼에 대해 계산합니다.
예를 들어, ‘원산지’ 기준으로 특정 컬럼에 대해 ‘mean’과 ‘sum’을 구하려면 해당 컬럼명을 명시해주어야 합니다.
df.groupby('원산지')['수치형_컬럼'].agg(['mean', 'sum'])
위 코드에서 '수치형_컬럼'
은 집계를 구하고자 하는 수치형 데이터의 열명을 의미합니다.
numeric_only 옵션 사용:
agg
메소드 자체에는 numeric_only
옵션이 적용되지 않으며, 이는 sum
과 같은 개별 집계 함수 호출 시에만 적용됩니다.예:
df.groupby('원산지').agg({
'특정_수치형_컬럼': lambda x: x.sum(numeric_only=True), # 수치형 데이터에만 적용
})
참고하시어 올바른 컬럼을 지정해 특정 열의 mean과 sum을 구해주시면 되겠습니다.
이와 유사한 문제와 해결책에 대한 게시글을 소개하니 참고해주세요:
각각의 게시물은 groupby
와 agg
사용 시 발생할 수 있는 일반적인 오류와 그 해결책에 대한 내용이 담겨 있습니다. 이러한 자료들을 참고하시면 reverq님이 질문하신 문제 해결에 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.