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:
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!