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!