24.07.18 14:57 작성
·
73
0
안녕하세요 강의를 잘 듣고 있는데 pandas groupby질문이 있어서 문의드립니다.
강의 내용에서는 groupby을 할 경우 이후에 sum이나 mean이 올 경우 숫자 데이터는 sum이나 mean이 수행이 되고 텍스트 데이터는 사라진다고 강의에 말씀하였는데 저같은 경우는 sum의 경우 텍스트가 단순히 합쳐지고 mean같은 경우는 아래 캡쳐 화면과 같이 에러가 발생합니다.
하지만 아래 캡쳐 화면과 같이 sum이나 mean할 항목을 명시해 주면 원하는 수행을 하게 되는데요 이럴 경우에는 앞으로는 mean이나 sum을 할 항목을 명시해주면 될까요??(파이썬 버전은 jupyter를 설치해서 3.12.4 입니다)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
박찬근님께서 질문하신, pandas의 groupby
연산 후에 sum
및 mean
을 적용할 때 발생하는 데이터 합치기 및 에러 처리에 대한 내용은 매우 중요한 부분입니다. 실제로 pandas에서는 숫자형 데이터에 대해 sum
이나 mean
과 같은 집계 함수를 적용할 때 문제가 없지만, 문자열이나 날짜 같은 비수치형 데이터에 대해서는 기본적으로 이러한 연산이 의미가 없기 때문에 기본적으로 그룹화된 결과에서 제외됩니다. 그러나 귀하께서 경험하신 바와 같이, 특정 열을 명시적으로 선택함으로써 원하는 집계 연산을 성공적으로 수행할 수 있습니다.
질문의 핵심은 groupby
후의 집계 작업 시, 비수치형 데이터에 대한 처리와 집계 함수 적용 방법에 대한 궁금증으로 해석됩니다. 귀하의 상황과 유사한 질문에 대한 답변이 groupby().sum() 사용 특정 컬럼 기준으로 데이터 합치기 관련 에서 다루어졌습니다. 이 답변에서는 groupby
를 사용하여 특정 컬럼을 기준으로 데이터를 합칠 때, 각 컬럼에 sum
및 mean
같은 함수가 어떻게 적용되는지 설명하고 있습니다.
또한, [질문드립니다.](https://www.inflearn.com/questions/979600)
질문에서는 aggregate
함수를 사용하여 groupby
후 여러 집계 연산을 동시에 수행하는 방법에 대해 설명하고 있으멀로, 여러분의 경우에도 유익할 수 있습니다. 이를 통해 특정 열에 대해 sum
, count
, mean
등 다양한 집계 함수를 명시하여 사용하는 방법을 보실 수 있습니다.
귀하의 질문에 대한 명확한 해결책으로, 원하시는 sum
및 mean
연산을 진행할 때 해당 열을 명시적으로 지정하는 것이 올바른 접근 방법입니다. 이렇게 함으로써, pandas가 비수치형 데이터에 대해 해당 연산을 시도하고 실패하는 것을 방지할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
2024. 07. 18. 15:08
자문자답입니다. pandas 버전업이 되면서 numeric_only 옵션이 True가 기본값이었는데 False로 변경되면서 문제가 생기는 것 같습니다. 아래 캡쳐 화면과 같이 수행할 경우 문제 없이 수행되었습니다.