Olá, Lucas!
Tô aqui para ajudar você! :)
Realmente, esses valores que você mencionou ( '1.0' e '8.0’) são do tipo float, como você viu ao usar o método info(). Contudo, o erro que você está obtendo, ocorre quando o Pandas tenta converter valores NaN (valores ausentes) ou infinitos para inteiros.
Para resolver esse problema, será necessário tratar esses valores, algumas possibilidades seriam:
→ Verificar se há valores NaN
ou inf
na sua coluna:
print(df_necessario['identificacaotabelacontacorrente'].isna().sum()) # Conta quantos NaNs
print((df_necessario['identificacaotabelacontacorrente'] == np.inf).sum()) # Conta quantos infinitos
→ Substituir NaN
e inf
por um valor numérico:
# Substitui NaN e infinitos por 0 antes da conversão
df_necessario['identificacaotabelacontacorrente'].replace([np.inf, -np.inf], 0, inplace=True)
df_necessario['identificacaotabelacontacorrente'] = df_necessario['identificacaotabelacontacorrente'].fillna(0)
** Uma outra alternativa seria excluir as linhas com valores NaN e infinitos ao invés de substituí-los, caso isso não cause impacto negativo em sua análise e entenda que é a melhor alternativa.
→ Após tratar esses dados, você pode seguir com a conversão de float para int.
Espero ter ajudado!
Abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!