1
resposta

[Dúvida] Dúvida no código eh_tipo

Não entendi por que ao passar o código eh_tipo = dados['Tipo'] == tipo e depois visualizar ele, aparece que a Series passada por == tipo apresenta Quitinete como True. Gostaria de entender porque isso acontece, uma vez que não atribuí Quitinete em nenhum lugar.

#Início

import pandas as pd import matplotlib.pyplot as plt plt.rc('figure', figsize = (14,6))

dados = pd.read_csv('dados/aluguel_residenciais_m2.csv', sep = ';') dados

grupo_tipo = dados.groupby('Tipo')['Valor'] grupo_tipo

Q1 = grupo_tipo.quantile(.25) Q3 = grupo_tipo.quantile(.75) IIQ = Q3 - Q1 limite_inferior = Q1 - 1.5 * IIQ limite_superior = Q3 + 1.5 * IIQ

dados_new = pd.DataFrame() for tipo in grupo_tipo.groups.keys():

#tipo é quitinete, porque?
e_tipo = dados['Tipo'] == tipo
#vai selecionar as dados que estão dentro dos limites
e_dentro_limite = (dados['Valor'] >= limite_inferior[tipo]) & (dados ['Valor'] <= limite_superior[tipo])
selecao = e_tipo & e_dentro_limite
dados_selecao = dados[selecao]
dados_new = pd.concat([dados_new, dados_selecao])

e_tipo
1 resposta

Olá, Grégore. Tudo bem?

Para entender o que tem na variável tipo, vamos exibir os tipos que temos na variável grupo_tipos:

grupo_tipo.groups.keys()

Saída:

dict_keys(['Apartamento', 'Casa', 'Casa de Condomínio', 'Casa de Vila', 'Quitinete'])

Como podemos perceber, temos o tipo Quitinete no grupo.

Agora, vamos verificar os valores na coluna Tipo:

dados['Tipo']

Saída:

0Quitinete
1Casa
2Apartamento
3Apartamento
4Apartamento
...
21821Apartamento
21822Quitinete
21823Apartamento
21824Apartamento
21825Apartamento
Name:Tipo, Length: 21826, dtype: object

Podemos verificar que temos o tipo Quininete no índice 0, por isso retornou True quando perguntamos no trecho eh_tipo = dados['Tipo'] == tipo.

 

Espero ter ajudado, Grégore. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!