gostaria de saber por que essa alternativa de código não funcionaria:
dados[dados.Tipo.unique() not in imoveis_comerciais]
gostaria de saber por que essa alternativa de código não funcionaria:
dados[dados.Tipo.unique() not in imoveis_comerciais]
Oi Iago, tudo bem?
O método unique()
retorna um array com todos os valores únicos de uma coluna, neste caso, a coluna "Tipo". Quando você escreve dados.Tipo.unique()
, ele retorna um array com todos os tipos de imóveis presentes na base de dados. No entanto, a expressão dados.Tipo.unique() not in imoveis_comerciais
está tentando verificar se o array inteiro não está na lista imoveis_comerciais
.
O realmente precisamos fazer é verificar se cada valor na coluna "Tipo" não está na lista imoveis_comerciais
. Para isso, você pode usar a expressão @imoveis_comerciais not in Tipo
dentro do método query()
, como mostrado em aula:
df = dados.query('@imoveis_comerciais not in Tipo')
Essa expressão seleciona todas as linhas do DataFrame dados
onde o valor da coluna "Tipo" não está na lista imoveis_comerciais
.
Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!