La réponse de @bdiamante ne peut vous aider que partiellement. Si vous obtenez toujours un message après avoir supprimé les avertissements, c'est parce que l'option pandas
La bibliothèque elle-même imprime le message. Il n'y a pas grand-chose que vous puissiez faire à moins de modifier vous-même le code source de Pandas. Il existe peut-être une option interne pour les supprimer, ou un moyen de passer outre, mais je n'en ai pas trouvé.
Pour ceux qui besoin de pour savoir pourquoi...
Supposons que vous souhaitiez garantir un environnement de travail propre. En haut de votre script, vous mettez pd.reset_option('all')
. Avec Pandas 0.23.4, vous obtenez ce qui suit :
>>> 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)
>>>
En suivant les conseils de @bdiamante, vous utilisez la fonction warnings
bibliothèque. Maintenant, fidèle à sa parole, la avertissements ont été supprimés. Cependant, plusieurs messages gênants subsistent :
>>> 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.
>>>
En fait, la désactivation tous Les avertissements produisent le même résultat :
>>> 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.
>>>
Au sens de la bibliothèque standard, ce ne sont pas de vrais avertissements . Pandas met en œuvre son propre système d'avertissements. Exécution de grep -rn
sur les messages d'avertissement montre que l pandas
Le système d'alerte est mis en œuvre dans 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
Une poursuite supplémentaire montre que je n'ai pas le temps pour cela. Et vous n'en avez probablement pas non plus. J'espère que cela vous évitera de tomber dans le trou du lapin ou que cela incitera quelqu'un à trouver le moyen de supprimer réellement ces messages !