mean() 함수, TypeError: agg function failed [how->mean,dtype->object], 'numeric_only=True'로 해결
# 평균값 확인하기
airline_group.mean()
# 특정 칼럼 값만 확인하기
airline_group.mean()[['price']]
# groupby를 활용하여 다중 인덱싱(multi-indexing) 설정하기
flight.groupby(['airline', 'arrival_time']).mean()
# 여러 개의 칼럼을 groupby하여 새로운 데이터프레임 생성하기
mul_airline_group=flight.groupby(['airline', 'arrival_time'])
mul_airline_group.mean()
# groupby 후 원하는 데이터만 가지고 오기
flight.groupby(['airline', 'arrival_time']).mean().loc[[('AirAsia','Evening')]]
수치형 데이터의 평균값(mean)을 확인하는 mean() 함수를 사용하는 위 다섯 가지 실습 코드를 실행할 때 아래와 같은 오류가 발생했다.
TypeError: agg function failed [how->mean,dtype->object]
이 오류는 평균을 계산하려고 할 때 데이터프레임 내에 수치형이 아닌 문자열과 같은 객체형 데이터가 포함되어 있을 경우 나타난다. 따라서 수치형 데이터만 고려하도록 설정하여 이를 해결할 수 있다.
mean(numeric_only=True)
numeric_only=True는 Pandas의 mean() 함수에서 사용하는 옵션 중 하나로, 해당 데이터프레임에서 수치형 데이터를 가지는 칼럼에 대해서만 평균값을 계산하겠다는 의미이다. 판다스 이전 버전에서는 이게 기본값이었는데, 업데이트가 되면서 바뀌었다고 한다.
# 평균값 확인하기
airline_group.mean(numeric_only_True)
# 특정 칼럼 값만 확인하기
airline_group.mean(numeric_only_True)[['price']]
# groupby를 활용하여 다중 인덱싱(multi-indexing) 설정하기
flight.groupby(['airline', 'arrival_time']).mean(numeric_only_True)
# 여러 개의 칼럼을 groupby하여 새로운 데이터프레임 생성하기
mul_airline_group=flight.groupby(['airline', 'arrival_time'])
mul_airline_group.mean(numeric_only_True)
# groupby 후 원하는 데이터만 가지고 오기
flight.groupby(['airline', 'arrival_time']).mean(numeric_only_True).loc[[('AirAsia','Evening')]]
따라서 위와 같이 'numeric_only_True'만 추가로 작성해 실행해 주면 오류 없이 결과 값을 확인할 수 있다.
'🗂️ AI' 카테고리의 다른 글
[AICE ASSOCIATE] select_dtypes, 특정 데이터 타입 선택 (0) | 2024.09.09 |
---|---|
[AICE ASSOCIATE] AI 작업 환경 - 아나콘다, 코랩, AIDU (0) | 2024.08.23 |