Lorsque je lance le programme, les pandas donnent chaque fois un «avertissement futur» comme ci-dessous.
D:\Python\lib\site-packages\pandas\core\frame.py:3581: FutureWarning: rename with inplace=True will return None from pandas 0.11 onward
" from pandas 0.11 onward", FutureWarning)
J'ai eu le message, mais je veux juste empêcher les Pandas d'afficher ce type de message encore et encore, y a-t-il un paramètre de construction que je peux configurer pour que Pandas ne puisse pas afficher le message 'Future warning'?
Trouvé ceci sur github ...
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)
La réponse de @ bdiamante pourrait ne vous aider que partiellement. Si vous recevez toujours un message après avoir supprimé les avertissements, c'est parce que la bibliothèque pandas
elle-même imprime le message. Vous ne pouvez rien y faire à moins d’éditer vous-même le code source de Pandas. Peut-être existe-t-il une option interne pour les supprimer, ou un moyen de passer outre les choses, mais je ne pouvais pas en trouver une.
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 bibliothèque warnings
. Maintenant, fidèle à Word, les avertissements ont été supprimés. Cependant, plusieurs messages embêtants demeurent:
>>> 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 warnings 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 de la bibliothèque, ce ne sont pas de vrais avertissements. Les pandas implémentent leur propre système d'avertissements. L'exécution de grep -rn
sur les messages d'avertissement indique que le système d'avertissement pandas
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
Poursuivre la poursuite montre que je n'ai pas le temps pour ça. Et vous n'avez probablement pas non plus. Espérons que cela vous évite de tomber dans le terrier du lapin ou inspire peut-être quelqu'un à comprendre comment supprimer réellement ces messages!