Wenn ich das Programm starte, gibt Pandas jedes Mal eine 'Zukunftswarnung' wie unten.
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)
Ich habe die Nachricht erhalten, möchte aber nur verhindern, dass Pandas diese Nachricht immer wieder anzeigt. Gibt es einen eingebauten Parameter, den ich festlegen kann, damit Pandas die 'Zukunftswarnung' nicht anzeigt?
python
pandas
suppress-warnings
future-warning
großer Käfer
quelle
quelle
warnings....ignore
vor dasimport pandas...
,FutureWarning
damit das ignoriert wird.Die Antwort von @ bdiamante kann Ihnen nur teilweise helfen. Wenn Sie nach dem Unterdrücken von Warnungen immer noch eine Nachricht erhalten, druckt die
pandas
Bibliothek die Nachricht selbst. Sie können nicht viel dagegen tun, wenn Sie den Pandas-Quellcode nicht selbst bearbeiten. Vielleicht gibt es eine interne Option, um sie zu unterdrücken, oder eine Möglichkeit, Dinge zu überschreiben, aber ich konnte keine finden.Für diejenigen, die wissen müssen warum ...
Angenommen, Sie möchten eine saubere Arbeitsumgebung sicherstellen. Ganz oben in Ihrem Skript setzen Sie
pd.reset_option('all')
. Mit Pandas 0.23.4 erhalten Sie Folgendes:Befolgen Sie die Anweisungen von @ bdiamante, um die
warnings
Bibliothek zu verwenden. Nun wurden die Warnungen entfernt. Es bleiben jedoch einige lästige Nachrichten:Wenn Sie alle Warnungen deaktivieren, wird dieselbe Ausgabe ausgegeben:
Im Sinne einer Standardbibliothek sind dies keine echten Warnungen . Pandas implementiert ein eigenes Warnsystem. Das Ausführen
grep -rn
der Warnmeldungen zeigt, dass daspandas
Warnsystem implementiert ist incore/config_init.py
:Weitere Verfolgungsjagden zeigen, dass ich dafür keine Zeit habe. Und wahrscheinlich auch nicht. Hoffentlich erspart Ihnen dies das Herunterfallen in den Kaninchenbau oder inspiriert jemanden, herauszufinden, wie Sie diese Botschaften wirklich unterdrücken können!
quelle
Warnungen sind ärgerlich. Wie in anderen Antworten erwähnt, können Sie sie unterdrücken, indem Sie:
Wenn Sie sie jedoch einzeln behandeln möchten und eine größere Codebasis verwalten, ist es schwierig, die Codezeile zu finden, die die Warnung verursacht. Da Warnungen im Gegensatz zu Fehlern nicht mit Code-Traceback geliefert werden. Um Warnungen wie Fehler zu verfolgen, können Sie diese oben in den Code schreiben:
Wenn die Codebasis jedoch größer ist und eine Reihe anderer Bibliotheken / Pakete importiert, werden alle Arten von Warnungen als Fehler ausgegeben. Um nur bestimmte Arten von Warnungen (in Ihrem Fall FutureWarning) als Fehler auszulösen, können Sie Folgendes schreiben:
quelle