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

[Dúvida] Duvidas no FOR

Há um trecho no código, no for especificamente, que nao consigo entender porque é necessário. Trecho abaixo:

eh_tipo = dados['Tipo'] == tipo

Essa condição verifica se as informações na coluna Tipo em dados é igual o que esta sendo iterado na variável tipo pelo o for , mas qual a necessidade? Sendo que todos os tipos no df dados são iguais que estão no grupo_tipo. não existem tipos diferentes entre eles, assim não precisando verificar, correto?

Outro trecho do for que estou em duvida também seria no trecho abaixo, especificamente na parte aonde a variável tipo esta sendo passado entre cochetes para limite_inferior e limite_superior. Não entendi a logica.

(dados['Valor'] >= limite_inferior[tipo]) & (dados['Valor'] <= limite_superior[tipo]

Por gentileza, se alguem poderia me explicar um pouco melhor sobre os codigos acima, eu agradeceria

2 respostas
solução!

Em relação a isso -> "eh_tipo = dados['Tipo'] == tipo"

a variável tipo é referente ao grupo_tipo.groups.keys(), onde gera uma lista dos tipos que foram gerados pelo GroupBy do Pandas. O resultado foi o agrupamento dos imóveis por grupo, sendo, "Apartamento", "Casa" etc. Então, ele está percorrendo um FOR dentro de uma lista de tipos, sendo, ['Apartamento', 'Casa',...]

Em relação a isso -> "(dados['Valor'] >= limite_inferior[tipo]) & (dados['Valor'] <= limite_superior[tipo]" Como ele criou um limite_inferior e limite_superior a partir do GroupBy do Pandas o resultado é um DataFrame/Series que possue como indice o tipo(neste caso, Apartamento por exemplo) junto do seu valor respectivo do limite inferior ou superior que foi calculado. Para acessar essa informação novamente ele passo o nome do indíce em questão, no entanto, a variavel "tipo" já possui os nomes dos tipos já que está percorrendo de uma lista (For) então ele pode passar como parâmetro a variavel tipo para o limite_inferior como limite_inferior[tipo] já que ele está sendo tratatado como DaFrame/Series.

Você pode visualizar isso utilizando o metódo type() para verificar os tipos ou ir colocando print() dentro do FOR para ver os valores que cada variável possui em si.

Bom dia. Eu entendi a questão da iteração, da variavel tipo estar pegando os valores agrupados que estão dentro grupo_tipo e como funciona o for. O que eu não entendi é porque ele esta comparando. A comparação em si. Os valores da coluna Tipo do df dados e os valores que estao no grupo_tipo ja são todos iguais, porque comparar pra ver se tem algo diferente? Ja que o grupo_tipo foi gerado de apartir do df dados, ja tendo os mesmos tipos de imoveis.