@bdiamante의 답변은 부분적으로 만 도움이 될 수 있습니다. 경고를 표시하지 않은 후에도 메시지가 계속 표시되는 경우 pandas
라이브러리 자체가 메시지를 인쇄하고 있기 때문 입니다. Pandas 소스 코드를 직접 편집하지 않으면 할 수있는 일이별로 없습니다. 내부적으로 억제 할 수있는 옵션이나 재정의하는 방법이있을 수 있지만 찾을 수 없습니다.
사람들을 위해 해야 할 이유를 알고 ...
깨끗한 작업 환경을 원한다고 가정하십시오. 스크립트 맨 위에 pd.reset_option('all')
. Pandas 0.23.4를 사용하면 다음을 얻을 수 있습니다.
>>> import pandas as pd
>>> pd.reset_option('all')
html.border has been deprecated, use display.html.border instead
(currently both are identical)
C:\projects\stackoverflow\venv\lib\site-packages\pandas\core\config.py:619: FutureWarning: html.bord
er has been deprecated, use display.html.border instead
(currently both are identical)
warnings.warn(d.msg, FutureWarning)
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
C:\projects\stackoverflow\venv\lib\site-packages\pandas\core\config.py:619: FutureWarning:
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
warnings.warn(d.msg, FutureWarning)
>>>
@bdiamante의 조언에 따라 warnings
라이브러리 를 사용합니다 . 이제 말 그대로 경고 가 제거되었습니다. 그러나 몇 가지 성가신 메시지가 남아 있습니다.
>>> import warnings
>>> warnings.simplefilter(action='ignore', category=FutureWarning)
>>> import pandas as pd
>>> pd.reset_option('all')
html.border has been deprecated, use display.html.border instead
(currently both are identical)
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
>>>
실제로 모든 경고를 비활성화 하면 동일한 출력이 생성됩니다.
>>> import warnings
>>> warnings.simplefilter(action='ignore', category=Warning)
>>> import pandas as pd
>>> pd.reset_option('all')
html.border has been deprecated, use display.html.border instead
(currently both are identical)
: boolean
use_inf_as_null had been deprecated and will be removed in a future
version. Use `use_inf_as_na` instead.
>>>
표준 라이브러리 의미에서 이것은 진정한 경고가 아닙니다 . Pandas는 자체 경고 시스템을 구현합니다. grep -rn
경고 메시지에서 실행 하면 pandas
경고 시스템이 다음에서 구현 되었음을 보여줍니다 core/config_init.py
.
$ grep -rn "html.border has been deprecated"
core/config_init.py:207:html.border has been deprecated, use display.html.border instead
더 많은 추격은 내가 이것에 대한 시간이 없다는 것을 보여줍니다. 그리고 당신도 아마 그렇지 않을 것입니다. 바라건대 이것은 당신이 토끼의 구멍에서 떨어지는 것을 막거나 누군가가 이러한 메시지를 진정으로 억제하는 방법을 알아 내도록 영감을 줄 것입니다!
warnings....ignore
전에 (가)import pandas...
원인을FutureWarning
무시.