La respuesta de @ bdiamante puede ayudarlo solo parcialmente. Si aún recibe un mensaje después de haber suprimido las advertencias, es porque la pandas
propia biblioteca está imprimiendo el mensaje. No hay mucho que pueda hacer al respecto a menos que edite el código fuente de Pandas usted mismo. Tal vez haya una opción internamente para suprimirlos, o una forma de anular cosas, pero no pude encontrar una.
Para aquellos que necesitan saber por qué ...
Suponga que desea garantizar un entorno de trabajo limpio. En la parte superior de tu guión, pones pd.reset_option('all')
. Con Pandas 0.23.4, obtienes lo siguiente:
>>> 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)
>>>
Siguiendo los consejos de @ bdiamante, usa la warnings
biblioteca. Ahora, fiel a su palabra, las advertencias se han eliminado. Sin embargo, quedan varios mensajes molestos:
>>> 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.
>>>
De hecho, deshabilitar todas las advertencias produce el mismo resultado:
>>> 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.
>>>
En el sentido de biblioteca estándar, estas no son verdaderas advertencias . Pandas implementa su propio sistema de advertencias. La ejecución grep -rn
de los mensajes de advertencia muestra que el pandas
sistema de advertencia está implementado en 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
Seguir persiguiendo demuestra que no tengo tiempo para esto. Y probablemente tú tampoco. ¡Con suerte, esto le evitará caer por la madriguera del conejo o tal vez inspire a alguien a descubrir cómo suprimir realmente estos mensajes!
warnings....ignore
antes delimport pandas...
para hacerFutureWarning
que se ignore.