Ответ @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
игнорироваться.