1
resposta

[Dúvida] verificação de tratamento

após fazer o tratamento dos dados nulos em cliente.tempo_servico, o instrutor realiza novamente o código:

dados_sem_vazio[filtro][['cliente.tempo_servico', 'conta.cobranca.mensal', 'conta.cobranca.Total']]

mas se filtro = dados_sem_vazio['cliente.tempo_servico'].isna() e não temos mais dados nulos em cliente.tempo_servico, a saída não deveria ser um dataframe vazio?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

no vídeo a saída foi:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Ana, tudo certinho?

Na verdade, no primeiro momento que o instrutor utilizou o código dados_sem_vazio[filtro][['cliente.tempo_servico', 'conta.cobranca.mensal', 'conta.cobranca.Total']], aqui ele seleciona apenas as linhas do dataframe que possuem valores nulos na coluna "cliente.tempo_servico" e mostra apenas as colunas "cliente.tempo_servico", "conta.cobranca.mensal" e "conta.cobranca.Total.

Até aqui ele não fez nenhuma alteração no filtro para preenchem os valores nulos, como também não houve nenhuma alteração no dataframe. Note que na primeira vez que é executado o código a coluna cliente.tempo_servico continua com valores nulos:

captura de tela do código

A atualização do dataframe com o tratamento de dados nulos só é feita no seguinte código:

dados_sem_vazio['cliente.tempo_servico'].fillna(
    np.ceil(
        dados_sem_vazio['conta.cobranca.Total'] / dados_sem_vazio['conta.cobranca.mensal']
    ), inplace=True
)

O códigoacima preenche os valores nulos da coluna "cliente.tempo_servico" com o resultado do cálculo da divisão entre as colunas "conta.cobranca.Total" e "conta.cobranca.mensal". O .fillna() preenche os campos com esse cálculo, e o parâmetro inplace=True indica que a modificação deve ser feita diretamente no dataframe "dados_sem_vazio".

Espero ter esclarecido.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!