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

[Dúvida] variavel com as colunas numericas

Na aula a professora defini uma variável com os nomes das coluns que são para ser do tipo int, e depois muda o tipo dessa forma abaixo:

dados[col_numericas] = dados[col_numericas].astype(np.int64)

minha dúvida é essa parte dados[col_numericas]

Não teria que ter uma coluna escrito col_numericas porque quando fiz no meu projeto não consegui.

da esse erro

# parte do código abaixo: 
# col_numericas = ['quantidade_banheiros','quantidade_quartos','quantidade_camas']
# dados_aulas['col_numericas'] = dados_aulas[col_numericas].astype(np.int64)


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-95-39275e45396f> in <cell line: 1>()
----> 1 dados_aulas['col_numericas'] = dados_aulas[col_numericas].astype(np.int64)

1 frames
/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py in _set_item_frame_value(self, key, value)
   4123 
   4124         if len(value.columns) != 1:
-> 4125             raise ValueError(
   4126                 "Cannot set a DataFrame with multiple columns to the single "
   4127                 f"column {key}"

ValueError: Cannot set a DataFrame with multiple columns to the single column col_numericas
2 respostas

Oi, Felipe! Tudo certo?

Quando usamos dados[col_numericas], estamos selecionando um conjunto de colunas do DataFrame dados. A variável col_numericas foi criada anteriormente e é uma lista contendo os nomes das colunas que queremos selecionar.

No trecho de código que você compartilhou, houve a tentativa de criar uma nova coluna chamada 'col_numericas' com o resultado da conversão, uma vez que você englobou a variável col_numericas com aspas simples:

dados_aulas['col_numericas'] = dados_aulas[col_numericas].astype(np.int64)

Isso afetou a interpretação correta acerca do comando e, consequentemente, gerou o erro "Cannot set a DataFrame with multiple columns to the single column col_numericas". Portanto, teremos que remover essas aspas, deixando o código da seguinte forma:

col_numericas = ['quantidade_banheiros','quantidade_quartos','quantidade_camas']
dados_aulas[col_numericas] = dados_aulas[col_numericas].astype(np.int64)

Desse modo, será feita uma conversão das colunas 'quantidade_banheiros', 'quantidade_quartos' e 'quantidade_camas' para o tipo int64!

Espero que dê tudo certo! Se outras dúvidas surgirem, conte com o fórum.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!
solução!

por Andrieli Gonçalves | 964.4k xp | 1973 posts Alura Scuba Team Monitora Escola Semente | Fórum Ops 2 dias atrás Oi, Felipe! Tudo certo?

Quando usamos dados[col_numericas], estamos selecionando um conjunto de colunas do DataFrame dados. A variável col_numericas foi criada anteriormente e é uma lista contendo os nomes das colunas que queremos selecionar.

No trecho de código que você compartilhou, houve a tentativa de criar uma nova coluna chamada 'col_numericas' com o resultado da conversão, uma vez que você englobou a variável col_numericas com aspas simples:

dados_aulas['col_numericas'] = dados_aulas[col_numericas].astype(np.int64) COPIAR CÓDIGO Isso afetou a interpretação correta acerca do comando e, consequentemente, gerou o erro "Cannot set a DataFrame with multiple columns to the single column col_numericas". Portanto, teremos que remover essas aspas, deixando o código da seguinte forma:

col_numericas = ['quantidade_banheiros','quantidade_quartos','quantidade_camas'] dados_aulas[col_numericas] = dados_aulas[col_numericas].astype(np.int64) COPIAR CÓDIGO Desse modo, será feita uma conversão das colunas 'quantidade_banheiros', 'quantidade_quartos' e 'quantidade_camas' para o tipo int64!

Espero que dê tudo certo! Se outras dúvidas surgirem, conte com o fórum.

Abraços!