Olá Matheus tudo certinho??
Respondendo a primeira parte da sua pergunta.
No Note da aula, referente a Relatório de Análise 3 Você irá perceber que foi iniciado uma limpeza dos dados para que saíssem os dados que não eram residenciais. Então primeiro foi visualizado quais os tipos de imóveis e foram retirados os dados que estão duplicados na base.
Para isso foi feito o comando list(dados['Tipo'].drop_duplicates())
e como resultado obtivemos:
['Quitinete',
'Casa',
'Conjunto Comercial/Sala',
'Apartamento',
'Casa de Condomínio',
'Prédio Inteiro',
'Flat',
'Loja/Salão',
'Galpão/Depósito/Armazém',
'Casa Comercial',
'Casa de Vila',
'Terreno Padrão',
'Box/Garagem',
'Loft',
'Loja Shopping/ Ct Comercial',
'Chácara',
'Loteamento/Condomínio',
'Sítio',
'Pousada/Chalé',
'Studio',
'Hotel',
'Indústria']
Que foram separados depois apenas nos dados residenciais que eram do nosso interesse na variável residencial:
residencial = ['Quitinete',
'Casa',
'Apartamento',
'Casa de Condomínio',
'Casa de Vila']
Esses dados são alocados em uma nova variável de nome dados_residencial após a utilização do isin(residencial)
que você pode ver mais detalhes aqui na documentação se for do seu interesse. Através do comando isin() conseguimos saber se os valores de uma coluna estão contidos em outra coluna.
selecao = dados['Tipo'].isin(residencial)
selecao
Então é gerado um novo DataFrame:
dados_residencial = dados[selecao]
E neste momento a base consta com 22580 linhas após mais um list(dados_residencial['Tipo'].drop_duplicates())
.
Então é feito um arquivo novo .csv e retirados os dados nulos com dados[dados['Valor'].isnull()]
e então dados = dados.fillna({'Condominio': 0, 'IPTU': 0})
resultando no número que você observou encontrando pelo Instrutor de 21826.
A segunda parte da sua pergunta, a resposta é Sim! Maiores detalhes também aqui na documentação do Pandas!
Espero ter te ajudado e qualquer dúvida é só retornar aqui!
Bons estudos =)