Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas com o colaboratory

Olá, estou tendo um problema bem estranho ao utilizar o colab. Basicamente as informações do meu código são perdidas em um intervalo extremamente curto de tempo (as vezes leva 5 min, outras vezes em questão de segundos mesmo). É como se constantemente eu fosse desconectado e tivesse que rodar meu código inteiro novamente (igual quando fechamos o colab e ao abrir novamente, se tentarmos rodar uma célula no meio do nosso código não irá funcionar, pois precisamos rodar o programa inteiro primeiro). Vou deixar de exemplo esse trecho do código:

dias = {'Sun' : 'Domingo', 'Sat' : 'Sábado', 'Thur' : 'Quinta', 'Fri' : 'Sexta'}
gorjetas['dia_da_semana'] = gorjetas['dia_da_semana'].map(dias)
gorjetas['dia_da_semana'].unique()

# saída: 
# array(['Domingo', 'Sábado', 'Quinta', 'Sexta'], dtype=object)

Essa saída está correta. Rodo meu código com o .head() para ver se deu tudo certo e está. Porém, segundos após isso rodo novamente o .head() e percebo que na coluna dos dias da semana aparece apenas o valor NaN. Rodo aquele trecho do código novamente e obtenho o seguinte:

gorjetas['dia_da_semana'] = gorjetas['dia_da_semana'].map(dias)
gorjetas['dia_da_semana'].unique()

# saída: 
# array([nan], dtype=object)

Para resolver esse problema sou obrigado a executar todo o código novamente e, para minha surpresa, todas as saídas aparecem como deveriam, sem nenhum erro. Esse problema está me atrapalhando bastante, pois a todo instante meu código apresenta erros onde não existem. Devido a esse problema sou obrigado a executar todas as células novamente de 5 em 5 minutos. Alguém sabe como resolver?

1 resposta
solução!

Bom dia Rafael, essa situação vc vai encontrar em todo notebook python.

Seguinte, após a primeira execução de

gorjetas['dia_da_semana'] = gorjetas['dia_da_semana'].map(dias)

Será alterada a própria coluna dia_da_semana e se vc executar esse trecho de código novamente ele não vai mais conseguir fazer o mapeamento pois os valores do dicionário não existem mais na coluna dia_da_semana.

dias = {'Sun' : 'Domingo', 'Sat' : 'Sábado', 'Thur' : 'Quinta', 'Fri' : 'Sexta'}

Tem duas soluções pra isso:

  1. Mapear para outra coluna o resultado

    gorjetas['dia_da_semana_pt'] = gorjetas['dia_da_semana'].map(dias)
  2. Deixar o código

    gorjetas['dia_da_semana'] = gorjetas['dia_da_semana'].map(dias)

    em outra célula e não ficar executando repetidamente o mesmo.