본문 바로가기

Python

[pandas] SettingWithCopyWarning 경고 끄기

반응형

 

 

 

pandas에서 코드를 실행하던 중 아래와 같은 에러를 만났다. 

 /root/test/venv/lib/python3.7/site-packages/pandas/core/series.py:1056: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  cacher_needs_updating = self._check_is_chained_assignment_possible()

 

결과값도 잘 출력되고 실행에는 크게 문제가 없는것 같은데 자꾸 에러가 난다. 

이유를 찾아보니 파생 dataframe에 수정을 가해서 pandas 쪽에서 warning을 주는 것이라고 한다. 

만약 이런 경우에는 원본 dataframe을 완전히 복사해서 독립적인 dataframe을 만들어서 사용하는 것이 안전하다고 하는데, 나의 경우에는 실행에 큰 영향이 없어서 경고를 끄기로 했다.

 

위 에러를 끄기 위해서 아래와 같은 방법을 사용했다. 

 

 

경고메시지 끄기

import pandas as pd 

pd.set_option('mode.chained_assignment',  None) # 경고 off

 

위 코드를 코드 상단에 두면 경고메시지가 뜨지 않는다. 

반응형