Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Transformar valores para float

Na aula passa o seguinte código:

Transformar valores para float Vamos transformar os valores dessas colunas para float utilizando o método .astype():

dados[['taxa_deposito','taxa_limpeza']] = dados[['taxa_deposito','taxa_limpeza']].astype(np.float64)

Porém no Google Colab deu o seguinte erro:

TypeError Traceback (most recent call last) in <cell line: 3>() 1 # Transformar valores para float 2 ----> 3 dados[['taxa_deposito','taxa_limpeza']] = dados[['taxa_deposito','taxa_limpeza']].astype(np.float64)

TypeError: 'NoneType' object is not subscriptable

1 resposta
solução!

Olá, Christian!

Pelo que vejo, você está tentando converter as colunas 'taxa_deposito' e 'taxa_limpeza' para o tipo float64. O erro TypeError: 'NoneType' object is not subscriptable geralmente ocorre quando você tenta acessar um objeto que não existe ou é None.

No seu caso, parece que o erro está ocorrendo porque você está tentando converter as colunas para float64 antes de remover os caracteres não numéricos.

A solução para o seu problema seria primeiro remover os caracteres não numéricos (como o cifrão e a vírgula) e depois converter as colunas para float. Aqui está um exemplo de como você pode fazer isso:

dados[['taxa_deposito','taxa_limpeza']] = dados[['taxa_deposito','taxa_limpeza']].applymap(lambda x: x.replace('$', '').replace(',','').strip())
dados[['taxa_deposito','taxa_limpeza']] = dados[['taxa_deposito','taxa_limpeza']].astype(np.float64)

No primeiro passo, estamos usando a função applymap() para aplicar a função lambda a cada elemento das colunas 'taxa_deposito' e 'taxa_limpeza'. A função lambda remove o cifrão e a vírgula e remove os espaços em branco no início e no final de cada elemento.

No segundo passo, estamos convertendo as colunas 'taxa_deposito' e 'taxa_limpeza' para o tipo float64 usando a função astype().

Espero ter ajudado e bons estudos!