Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ERRO no for

Pessoal, alguém consegue me explicar o porquê do segundo print estar puxando apenas "quitinete"? Não estou conseguindo identificar a origem desse erro. ps: Estou fazendo todo o curso pelo Colab.

dados_new = pd.DataFrame()
for tipo in grupo_tipo.groups.keys():
    eh_tipo = dados['Tipo'] == tipo
    eh_dentro_limite = (dados['Valor'] >= limite_inferior[tipo]) & (dados['Valor'] <= limite_superior[tipo])
    selecao = eh_tipo & eh_dentro_limite
    dados_selecao = dados[selecao]
    dados_new = pd.concat([dados_new, dados_selecao])

Preciso de uma confirmação de hipótese apenas.

Suspeito que eu não possa separar esse código.

É isso?

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

2 respostas
solução!

Olá Leonardo,

No Notebook, a variável que itera, nesse caso tipo, recebe o valor atribuído a ela na última iteração pelo loop. Um exemplo:

for i in range(10):
    variavel = i

Na última iteração, quando i = 9, a variável em questão vai ser sobrescrita novamente pelo i e o loop acaba, portanto, o valor final da variável irá ser 9. O exemplo com um código semelhante ao seu:

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

No seu código, a variável que itera está sendo atribuída ao tipo, e quando acaba o loop for, a variável foi sobrescrita pela última vez por Quitinete. Por isso, na outra célula quando você printa o valor, está diretamente atribuído ao valor da última iteração do seu loop.

Espero ter ajudado.

Entendi, muito obrigado pela explicação.