반응형
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
위 코드를 코드 상단에 두면 경고메시지가 뜨지 않는다.
반응형
'Python' 카테고리의 다른 글
[python] 소수점 반올림, 올림, 내림하는 코드 (0) | 2021.10.28 |
---|---|
[python] 여러개의 공백 하나로 만드는 코드 (0) | 2021.10.27 |
[python pandas] 주식 이격도(disparity) 구하기 (0) | 2021.10.17 |
[python pandas] 주식 이동평균선 구하기 (0) | 2021.10.17 |
[python pandas] matplotlib.pyplot으로 주식 차트에 buy sell 표시하기 (0) | 2021.10.11 |