Lorsque j'exécute le programme, Pandas donne à 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 reçu le msg, mais je veux juste empêcher Pandas d'afficher un tel msg encore et encore, y a-t-il un paramètre de construction que je peux définir pour permettre aux Pandas de ne pas afficher le 'Avertissement futur'?
python
pandas
suppress-warnings
future-warning
gros bug
la source
la source
warnings....ignore
avant leimport pandas...
pour que leFutureWarning
soit ignoré.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: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:En fait, la désactivation de tous les avertissements produit le même résultat:
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 lepandas
système d'avertissement est implémenté danscore/config_init.py
: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!
la source
Les avertissements sont ennuyeux. Comme mentionné dans d'autres réponses, vous pouvez les supprimer en utilisant:
Mais si vous souhaitez les gérer un par un et que vous gérez une base de code plus grande, il sera difficile de trouver la ligne de code à l'origine de l'avertissement. Étant donné que les avertissements contrairement aux erreurs ne sont pas fournis avec le suivi du code. Afin de retracer les avertissements tels que les erreurs, vous pouvez écrire ceci en haut du code:
Mais si la base de code est plus grande et qu'elle importe un tas d'autres bibliothèques / packages, alors toutes sortes d'avertissements commenceront à être générés comme des erreurs. Afin de ne lever que certains types d'avertissements (dans votre cas, son FutureWarning) comme erreur, vous pouvez écrire:
la source