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

Dúvida sobre [~selecao]

Fiquei confusa quanto ao uso do "~"

Nessa parte, a variável selecao está armazenando registros de apartamentos com condomínio nulos certo? e a variável imovéis ao contrário, ou seja, armazena apartamentos que tem valor nos condomínios.

#Elimina os imóveis do tipo Apartamento que não apresentam valor Condominio:
selecao = (imoveis['Tipo'] == 'Apartamento') & (imoveis['Condominio'].isnull())
imoveis = imoveis[~selecao]
imoveis

Então, por que nessa parte ele está substituindo os valores por zero na variável imoveis e não na variável selecao?

#Substitui os valores faltantes que restam nas variáveis Condominio e IPTU por zero:
imoveis = imoveis.fillna({'Condominio': 0, 'IPTU': 0})
imoveis
2 respostas
solução!

Oi Lais Tudo bem ?

Pelo que entendi, no primeiro código a ideia seria realmente eliminar os registros onde o tipo de imóvel é apartamento e o valor do condomínio for nulo. Porque, para o case da aula, não fazia sentido ter registros de apartamentos assim, já que todo apartamento tem valor de condomínio.

A variável imoveis, nesse ponto do código, ficou com os registros que queríamos manter, ou seja, todos os registros exceto o conteúdo da variável selecao (registros de apartamentos com condomínio nulo)

Já no segundo código foi substituido os NAN por zero nos demais tipos de imóvel. Por exemplo: Um registro do tipo 'Casa' que tem um valor nulo na coluna 'Condomínio' e que deve ser mantido nos dados porque casa não tem valor de condomínio. Nesse caso, não poderíamos fazer a substituição por '0' na varável seleção por alguns motivos:

  1. A variável selecao representa somente os registros dos imóveis do tipo apartamento e condomínio nulo
  2. Esses registros já foram eliminados da variável imoveis
  3. A variável que tem os registros que serão mantidos é a variável imoveis (Ela que tem os registros dos outros tipos de imóvel que ainda possuem o valor nulo nas colunas Condomínio e IPTU)

Espero ter ajudado :)

Ah agora faz sentido. Obrigada pela explicação!