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

[Dúvida] não consegui excluir as colunas

Tentei acompanhar o professor e seguir a aula fazendo como ele, mas os códigos não funcionavam. Até pensei na possibilidade de ser erro de digitação e copiei os códigos da transcrição e mesmo assim apenas o pop funcionou.

3 respostas

Oi Ana, tudo bem? Se puder compartilha o código pra podermos tentar descobrir o que pode ter acontecido..

Tive o mesmo problema. Segue abaixo o código, que foi copiado da transcrição, e a mensagem de erro que aparece quando tento rodar o código:

`dados_aux = pd.DataFrame(dados[['Tipo Agregado', 'Valor m2', 'Valor Bruto', 'Valor Bruto m2']])

dados_aux.head(10)`

A Mensagem de erro:

KeyError Traceback (most recent call last) in 1 # Criando um DataFrame auxiliar para ver as várias formas de se excluir variáveis ----> 2 dados_aux = pd.DataFrame(dados[['Tipo Agregado', 'Valor m2', 'Valor Bruto', 'Valor Bruto m2']]) 3 4 dados_aux.head(10)

~\anaconda3\lib\site-packages\pandas\core\frame.py in getitem(self, key) 2906 if is_iterator(key): 2907 key = list(key) -> 2908 indexer = self.loc.getlistlike_indexer(key, axis=1, raise_missing=True)[1] 2909 2910 # take() does not accept boolean indexers

~\anaconda3\lib\site-packages\pandas\core\indexing.py in getlistlike_indexer(self, key, axis, raise_missing) 1252 keyarr, indexer, new_indexer = ax.reindexnon_unique(keyarr) 1253 -> 1254 self.validateread_indexer(keyarr, indexer, axis, raise_missing=raise_missing) 1255 return keyarr, indexer 1256

~\anaconda3\lib\site-packages\pandas\core\indexing.py in validateread_indexer(self, key, indexer, axis, raise_missing) 1302 if raise_missing: 1303 not_found = list(set(key) - set(ax)) -> 1304 raise KeyError(f"{not_found} not in index") 1305 1306 # we skip the warning on Categorical

KeyError: "['Valor Bruto m2', 'Valor m2'] not in index"

solução!

Já consegui entender onde está o prolema:

O código da transcrição está da seguinte forma:

dados_aux = pd.DataFrame(dados[['Tipo Agregado', 'Valor m2', 'Valor Bruto', 'Valor Bruto m2']])

E o correto(por conta da maneira que escrevi como seria o nome da variável lá em cima) é:

dados_aux = pd.DataFrame(dados[['Tipo Agregado', 'Valor m²', 'Valor Bruto', 'Valor Bruto m²']])

A diferença é que o transcrito está 'm2' e a forma que eu tinha escrito a variável foi 'm²'