Por que o comando dados['finalizado'] = dados.nao_finalizado.map(troca) adiciona uma coluna à planilha já existente em vez de sobrescrever todos os dados e deixar somente a coluna 'finalizado' no conjunto de dados de nomes dados?
Por que o comando dados['finalizado'] = dados.nao_finalizado.map(troca) adiciona uma coluna à planilha já existente em vez de sobrescrever todos os dados e deixar somente a coluna 'finalizado' no conjunto de dados de nomes dados?
Olá Adriana.
Para entender o que está acontecendo vamos entender o que cada parte dessa instrução faz:
dados['finalizado'] = dados.nao_finalizado.map(troca)
Olhando da esquerda para a direita, nossa primeira instrução é dados['finalizado']. Quando utilizamos os operadores colchetes [ ] em um DataFrame podemos acessar uma coluna ou quando estamos utilizando junto com o operador igual ( = ) estamos criando uma nova coluna no DataFrame. Nesse caso estamos criando uma nova coluna para o nosso Dataframe dados e o nome da coluna será "finalizado".
Nossa próxima instrução é dados.nao_finalizado e ela retorna uma Serie composta pela nossa coluna nao_finalizado.
Depois utilizamos o método map que tem no tipo Series e o que ele faz é substituir cada valor da sua Series de acordo com a regra que você colocou na variável troca (mais detalhes do seu funcionamento da documentação). Veja que nesse momento é criado uma nova Series que contem os valores da coluna nao_finalizado trocados de acordo com a nossa regra.
Por fim temos essa nova Serie sendo utilizada para construir nossa nova coluna no DataFrame dados.
Uma boa maneira de visualizar isso é quebrar em varias linhas.
coluna_nao_finalizado = dados.nao_finalizado
coluna_com_valores_trocados = coluna_nao_finalizado.map(troca)
dados['finalizado'] = coluna_com_valores_trocados
Dessa maneira fica mais fácil entender a função de cada instrução.
Espero ter te ajudado a entender, mas qualquer duvida não hesite em perguntar. Bons Estudos.