Quando eu executo o programa, o Pandas sempre dá 'Aviso do futuro' como mostrado abaixo.
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)
Recebi a mensagem, mas só quero impedir que o Pandas mostre essa mensagem repetidamente. Existe algum parâmetro de construção que eu possa definir para permitir que o Pandas não exiba o 'Aviso do futuro'?
python
pandas
suppress-warnings
future-warning
Grande erro
fonte
fonte
warnings....ignore
antes de oimport pandas...
fazer com que oFutureWarning
ser ignorado.A resposta de @bdiamante pode ajudá-lo apenas parcialmente. Se você ainda receber uma mensagem depois de suprimir os avisos, é porque a
pandas
própria biblioteca está imprimindo a mensagem. Não há muito que você possa fazer a menos que você mesmo edite o código-fonte do Pandas. Talvez haja uma opção internamente para suprimi-los, ou uma maneira de substituir as coisas, mas não consegui encontrar uma.Pra quem precisa saber porque ...
Suponha que você queira garantir um ambiente de trabalho limpo. No topo do seu script, você coloca
pd.reset_option('all')
. Com o Pandas 0.23.4, você obtém o seguinte:Seguindo o conselho de @bdiamante, você usa a
warnings
biblioteca. Agora, fiel a sua palavra, os avisos foram removidos. No entanto, várias mensagens incômodas permanecem:Na verdade, a desativação de todos os avisos produz a mesma saída:
No sentido da biblioteca padrão, esses não são avisos verdadeiros . O Pandas implementa seu próprio sistema de avisos. A execução
grep -rn
das mensagens de aviso mostra que opandas
sistema de aviso é implementado emcore/config_init.py
:Perseguir mais mostra que não tenho tempo para isso. E provavelmente você também não. Espero que isso evite que você caia na toca do coelho ou talvez inspire alguém a descobrir como realmente suprimir essas mensagens!
fonte
Os avisos são irritantes. Conforme mencionado em outras respostas, você pode suprimi-los usando:
Mas se você quiser manipulá-los um por um e estiver gerenciando uma base de código maior, será difícil encontrar a linha de código que está causando o aviso. Já que avisos, ao contrário de erros, não vêm com rastreamento de código. Para rastrear avisos como erros, você pode escrever isso na parte superior do código:
Mas se a base de código for maior e estiver importando várias outras bibliotecas / pacotes, todos os tipos de avisos começarão a ser gerados como erros. Para gerar apenas certos tipos de avisos (no seu caso, FutureWarning) como erro, você pode escrever:
fonte