1
resposta

CÓDIGO NÃO FUNCIONOU

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-16-6b163febade2> in <module>()
   from sklearn.preprocessing import Normalizer
values = Normalizer().fit_transform(dataframe.values)
print(values)

    1 from sklearn.preprocessing import Normalizer
----> 2 values = Normalizer().fit_transform(dataframe.values)
      3 print(values)

3 frames
/usr/local/lib/python3.7/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator)
    744                     array = array.astype(dtype, casting="unsafe", copy=False)
    745                 else:
--> 746                     array = np.asarray(array, order=order, dtype=dtype)
    747             except ComplexWarning as complex_warning:
    748                 raise ValueError(

ValueError: could not convert string to float: 'C10001'
1 resposta

Olá Dalton, tudo bem ? Espero que sim.

Pela informação do erro aparentemente a coluna de CUST_ID ainda está presente no dataframe. (C10001 é um dos valores dessa coluna).

ValueError: could not convert string to float: 'C10001'

Vou pedir para você rever a linha onde fazemos o drop (remoção) dessa coluna, principalmente o parâmetro inplace=True, porque se esse parâmetro não for passado o drop não acontece no dataframe. E isso é um problema porque o Normalizer só sabe trabalhar com dados numéricos e não com dados de texto.

dataframe.drop(columns=["CUST_ID", "TENURE"], inplace=True)

Espero ter ajudado, mas caso o problema persista vou pedir que enviei parte do seu código para buscarmos juntos outras soluções.

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