1
resposta

Possível erro exercício atletas.fillna

Jupyter reporta um erro quando menciono a resposta correta de: https://cursos.alura.com.br/course/introducao-python-pandas/task/41500

import pandas as pd

atletas = pd.DataFrame([['Marcos', 9.62], ['Pedro', None], ['João', 9.69], 
                        ['Beto', 9.72], ['Sandro', None], ['Denis', 9.69], 
                        ['Ary', None], ['Carlos', 9.74]], 
                        columns = ['Corredor', 'Melhor Tempo'])

até aqui Ok..

mas quanto a questão é que eu mostrando o comando

atletas.fillna(atletas.mean(), inplace = True)

me retorna este aviso:

C:\Users\guilh\AppData\Local\Temp/ipykernel_20576/2436295672.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError.  Select only valid columns before calling the reduction.
  atletas.fillna(atletas.mean(), inplace = True)

mas se eu colocar somente

atletas.fillna(atletas.mean())

sem o 'inplace = True' ainda me retorna o aviso, mas traz a tabela com as médias.

Não entendi o que aconteceu, se alguém puder dar uma luz. Vlw pessoal!

1 resposta

Olá Guilhermino,

Não há nada de errado com o seu código. Essa mensagem é apenas um alerta aos desenvolvedores sobre uma mudança que será implementada nas próximas versões do Pandas. O parâmetro inplace não tem relação com o alerta.

Atualmente, se for utilizada uma função de agregação que não pode ser aplicada a algumas colunas, então as colunas problemáticas serão automaticamente descartadas (dropadas). O nome disso é Automatic exclusion of “nuisance” columns

O alerta diz que no futuro, em vez de dropar as colunas, será gerado um TypeError