대부분의 AttributeError는 에러 메세지만 읽을 줄 알면 해결이 됩니다.
판다스에서 발생하는 AttributeError는 크게 세 가지 종류가 있습니다.
2. 객체(object)에서 발생하는 경우 ← 이번 포스팅
세 종류의 에러는 에러 메세지로 구분할 수 있습니다.
이 포스팅은 2번 객체에서 AttributeError가 발생한 경우입니다.
예시
에러가 발생하는 코드의 예시를 확인합니다.
# 예제 데이터 프레임
import pandas as pd
df = pd.DataFrame(['abc', 'de'], columns=['colA'])
df:
# 에러 발생 코드
df.str.contains('a')
AttributeError: 'DataFrame' object has no attribute 'str'
해석 : 'DataFrame' 객체에는 'str' 라는 속성이 없기 때문에 발생하는 오류입니다.
에러 메세지에서 알려준 속성(attribute) 'str' 을 코드에서 찾으세요.
코드에서 찾았습니다. df.str이라고 되어 있습니다.
결국 에러 메세지는 df에 str이라는 attribute가 존재하지 않는다는 이야기입니다.
df가 데이터 프레임 객체이기에 'DataFrame' object has no attribute 'str' 라는 에러로 알려준 것이지요.
기본적으로 위와 같은 Attribute 에러는 해당 객체에 str 속성이나 메서드를 사용할 수 없다는 이야기입니다.
예를 들어 시리즈에만 적용되는 메서드인 str.contains을 데이터 프레임에 적용하면, 적용할 수 없기에 Attribute 에러가 발생합니다.
이 경우는 시리즈에 적용하면 해결됩니다.
# 시리즈에 적용하면 원하는 결과가 반환된다.
df['colA'].str.contains('a')
0 True
1 False
Name: colA, dtype: bool
요약하면 객체에 Attribute 에러가 발생하면, 해당 객체에 사용할 수 없는 함수를 적용한 것입니다.
위 에러 메세지를 그대로 검색하거나, AI에게 질문해도 대부분 해결됩니다.
침착하면 해결할 수 있으니, 침착하세요!
다른 AttributeError 강의도 참고하세요.
2. 객체(object)에서 발생하는 경우 ← 이번 포스팅
교보문고 구매 페이지, 알라딘 구매 페이지, yes24 구매 페이지
유튜브에서 판다스 강의 중입니다.
'판다스 > 판다스 에러 강의' 카테고리의 다른 글
[python] unhashable type 에러 (0) | 2024.10.19 |
---|---|
[pandas] 판다스의 KeyError 강의 (2) (0) | 2024.02.23 |
[pandas] AttributeError 강의 (3) - 함수에서 발생한 경우 (0) | 2024.02.21 |
[pandas] 판다스의 KeyError 강의(1) (0) | 2023.08.08 |
[pandas] AttributeError 강의 (1) - 모듈에서 발생한 경우 (0) | 2023.06.02 |