Oi Claudia! Tudo bem com você?
As informações trazidas pela variável dados_selecao
alternam a cada repetição do laço for, desse modo, ela está sendo usada apenas como um armazenamento temporário de dados para que dados_new
armazene esse dado de uma forma mais permanente.
Nesse caso, a melhor opção seria não utilizar dados_selecao
dentro do for, pois ela está apenas armazenando um dado temporariamente para ser salvo em outra variável, o que não torna ela tão útil. Podemos adaptar o código para a seguinte estrutura:
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_new = pd.concat([dados_new, dados[selecao]])
Nessa estrutura existem mais variáveis de armazenamento temporário como eh_tipo
, eh_dentro_limite
e selecao
, isto abre a possibilidade de colocar toda a estrutura do for em apenas uma linha, com apenas uma variável para armazenamento. No entanto, isso não seria muito didático, e poderia prejudicar o aprendizado de alguns alunos e alunas.
Eu espero ter te ajudado! Se surgir outra dúvida estarei à disposição ;-)
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!