• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

질문

21.08.25 18:15 작성 조회수 128

1

만약에 df_seoul["상호명_소문자"] = df_seoul["상호명"].str.lower()여기서 상호명을 소문자로 적용안시키고

그대로 진행할꺼면 df_seoul로 진행하게 되는데

df_seoul[df_seoul["상호명_소문자"].str.contains("이디야|이디아|ediya")원래는 이렇게 적혀있었는데
위에 말한거처럼 소문자로 적용안시키고 df_seoul에서 이디야인 데이터를 뽑아올려면
그대로 df_seoul[df_seou.str.contains("이디야|이디아")]이런식으로 적는게 아닌가요??
AttributeError                            Traceback (most recent call last)
<ipython-input-52-b4b802b725ae> in <module>
----> 1 df_seoul[df_seoul.str.contains("이디야")]

~\anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
   5463             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5464                 return self[name]
-> 5465             return object.__getattribute__(self, name)
   5466 
   5467     def __setattr__(self, name: str, value) -> None:

AttributeError: 'DataFrame' object has no attribute 'str' 이러한 오류가 뜹니다

답변 1

답변을 작성해보세요.

0

안녕하세요.

소문자를 적용하지 않고 적으려면 아래와 같이 상호명 컬럼을 작성해야 합니다.


df_seoul[df_seou
l["상호명"].str.contains("이디야|이디아")]

데이터프레임 전체에 적용할 수는 없습니다.

str 이라는 것은 판다스에서 파이썬의 str 메소드처럼 문자열을 다룰 수 있게 합니다.

.str 이라고 써주는 것은 판다스 API의 사용법이기 때문에 사용법을 지켜야 원하는 결과를 얻을 수 있습니다.