La réponse de @ bdiamante ne peut que partiellement vous aider. Si vous recevez toujours un message après avoir supprimé les avertissements, c'est parce que la pandas
bibliothèque elle-même imprime le message. Vous ne pouvez pas faire grand-chose à ce sujet à moins que vous ne modifiiez vous-même le code source de Pandas. Peut-être qu'il y a une option en interne pour les supprimer, ou un moyen de remplacer les choses, mais je n'ai pas pu en trouver.
Pour ceux qui ont besoin de 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)
>>>
Suivant les conseils de @ bdiamante, vous utilisez la warnings
bibliothèque. Maintenant, fidèle à sa parole, les avertissements ont été supprimés. Cependant, plusieurs messages embêtants restent:
>>> 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 de tous les avertissements produit 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 standard des bibliothèques, ce ne sont pas de véritables avertissements . Pandas met en œuvre son propre système d'alerte. L'exécution grep -rn
des messages d'avertissement montre que le pandas
système d'avertissement est implémenté 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
La poursuite montre que je n'ai pas le temps pour ça. Et vous non plus probablement. Espérons que cela vous évitera de tomber dans le terrier du lapin ou inspirera peut-être quelqu'un à trouver comment supprimer vraiment ces messages!
warnings....ignore
avant leimport pandas...
pour que leFutureWarning
soit ignoré.