반응형
title_list[
title_list["title"].str.startswith(
"a"
)] # 문자열 시작단어로 검색시도
Traceback (most recent call last):
File "/opt/conda/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2910, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-5-b76175267038>", line 3, in <module>
"a"
File "/opt/conda/lib/python3.6/site-packages/pandas/core/frame.py", line 2133, in __getitem__
return self._getitem_array(key)
File "/opt/conda/lib/python3.6/site-packages/pandas/core/frame.py", line 2160, in _getitem_array
if com.is_bool_indexer(key):
File "/opt/conda/lib/python3.6/site-packages/pandas/core/common.py", line 191, in is_bool_indexer
raise ValueError('cannot index with vector containing '
ValueError: cannot index with vector containing NA / NaN values
pandas의 dataframe에서 str 패키지를 사용해 serise.str.contains, serise.str.startswith, serise.str.endswith, 을 사용할 때 위와 같은 문구가 뜰 때가 있다.
뜨는 이유는 간단하다. 칼럼에 NA/NaN 값이 끼어있어 검색할 수 없기 때문이다. 이럴때는 간단하게 na=False 옵션을 끼워주면 된다.
title_list[
title_list["report_nm"].str.startswith(
"a", na=False
)]
간딴!
반응형
댓글