Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] [Dúvida] Tratando dados faltantes

Bom dia!

Desculpe por mais uma pergunta. Fiquei um pouco confuso na aula de Tratamento Condicional. Sei que essa dúvida deve ser básica, mas queria compreender para que não precise perguntar novamente:

dados[dados['Condominio'].isnull()].shape[0]

A dúvida é sobre a repeticao de dados[dados

Por que é necessário repetir a palavra dados?

Duvida 2)

A = dados.shape[0] dados = dados[~selecao] B = dados.shape[0] A - B

Essas variáveis A e B foram criadas para que o notebook original criado não seja afetado e não precisamos refazê-lo novamente, correto? Desta forma somente a variável B foi afetada? Entendi que ~ elimina os dados que realizamos anteriormente em seleção = (dados['Tipo'] == 'Apartamento') & (dados['Condominio'].isnull()).

Minha dúvida é que pesquisamos em dois momentos diferentes durante a aula e encontramos o valor 1813, mesmo após realizar a eliminação dos dados acima.

Poderia explicar novamente?

Desde já, agradeço pela atenção.

1 resposta
solução!

Olá Guilherme, tudo bem? Espero que sim!

Existe a repetição da palavra dados porque está fazendo uma filtragem do DataFrame. O primeiro dados é referente ao DataFrame e do local que deseja tirar a informação. O segundo dados, que está dentro do colchetes é a filtragem que está realizando. Para fazer uma filtragem é necessário passar um array de True e False, para que somente os valores True sejam retornados. Portanto dados['Condominio'].isnull() vai coletar todos os condomínios em que o valor é nulo e o resultado será True para esses valores. Assim é possível fazer a filtragem.

O A e o B foram criados em momentos diferentes, portanto ao fazer A = dados.shape[0], você coleta a quantidade de linhas que tem na base de dados. Depois é feita uma seleção para remover elementos em que o tipo seja apartamento e o condomínio seja nulo com o código dados = dados[~selecao] e depois é feita novamente a contagem de linhas da base de dados que foi modificada B = dados.shape[0]. Assim, ao fazer A-B, teremos a subtração da quantidade de linhas inicialmente da quantidade de linhas após a filtragem. Resultando na quantidade de dados que foram removidos com a filtragem.

Se o valor da subtração for 0, indica que a filtragem não removeu nenhum elemento e a quantidade de linhas permaneceu igual.

Bons estudos!