Відповідь @ 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
ігнорування.