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

Não consigo criar novo dataframe filtrando alguns dados

Bom dia.

Quando tento executar os seguintes comandos :

selecao = dados['Tipo'].isin(residencial) selecao

dados_residencial = dados[selecao]

Ao tentar executar a última linha recebo a seguinte mensagem:

":2: UserWarning: Boolean Series key will be reindexed to match DataFrame index. dados_residencial = dados[selecao]


IndexingError Traceback (most recent call last) in 1 #Criando um novo dataframe com somente os dados residencial ----> 2 dados_residencial = dados[selecao]

~\Anaconda4\lib\site-packages\pandas\core\frame.py in getitem(self, key) 2789 # Do we have a (boolean) 1d indexer? 2790 if com.is_bool_indexer(key): -> 2791 return self.getitembool_array(key) 2792 2793 # We are left with two options: a single key, and a collection of keys,

~\Anaconda4\lib\site-packages\pandas\core\frame.py in getitembool_array(self, key) 2841 # check_bool_indexer will throw exception if Series key cannot 2842 # be reindexed to match DataFrame rows -> 2843 key = check_bool_indexer(self.index, key) 2844 indexer = key.nonzero()[0] 2845 return self.takewith_is_copy(indexer, axis=0)

~\Anaconda4\lib\site-packages\pandas\core\indexing.py in check_bool_indexer(index, key) 2315 mask = isna(result._values) 2316 if mask.any(): -> 2317 raise IndexingError( 2318 "Unalignable boolean Series provided as " 2319 "indexer (index of the boolean Series and of "

IndexingError: Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match)."

Poderia me ajudar? Obrigada

3 respostas

Bom dia Mariana,

Esse erro acontece quando dados e selecao não tem tamanhos compatíveis, provavelmente algum dos dois foi modificado entre a execução de selecao = dados['Tipo'].isin(residencial) selecao e dados_residencial = dados[selecao].

Tenta reiniciar o notebook e reexecutar todo o código do início que deve funcionar.

Diz aqui se isso resolve ou o problema continua.

solução!

Talvez você esteja escrevendo todos os exemplos no mesmo notebook e tenha usado o inplace em algum exemplo, o que alterou sua base de dados.

Muito obrigada Francisco, era exatamente isso que eu estava fazendo...