Я получаю ValueError: не удалось преобразовать строку в float: 'f' при запуске подгонки линейной модели. Я преобразовал все строки уже. Почему я получаю эту ошибку? - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть df combo_df.shape (7403, 43) Я разделил данные на цифры c и категориальные и запустил pd.get_dummies() для данных dtype объекта 'Позже я убедился, что я преобразовал все dtypes в цифры c. Я проверяю с помощью следующего кода:

combo_df_dummy.dtypes.unique()
array([dtype('int64'), dtype('float64')], dtype=object)

Я убедился, что нет никаких NA *

np.sum(combo_df_dummy.isnull().any())
0

Окончательная форма df: (7403, 148)

Однако, когда я запускаю lm_model.fit(), я продолжаю получать ValueError: could not convert string to float: 'f'.

Я проверил строку 'f' (как подсказывает @ Barmar ) в столбцах df, но безуспешно. Я использовал:

for col in combo_df_dummy.columns:
    if np.sum(combo_df_dummy[col].astype('str').str.find('f')>0)>0:
       print(col)

Я ничего не получил назад!

Чего мне не хватает? Я потратил слишком много часов, пытаясь решить эту проблему

...