Как исправить ошибку «ValueError: не удалось преобразовать строку в число с плавающей запятой» при запуске регрессии из Pandas Dataframe? - PullRequest
0 голосов
/ 09 июля 2020

Я просмотрел Stack Overflow, и, к сожалению, существующие ответы мне не помогли.

Мой код выглядит следующим образом:

def regress(data1, data2, data3, data4):
    df = insert_worldbankdata(data1, data2, data3, data4) 
    X = df['Women in Parliament (%)'], df['Inflation (%)'], df['Individuals using Internet (%)']
    y = df['Annual Mean Sat.']
    regr = linear_model.LinearRegression()
    regr.fit(X, y)
    model = sm.OLS(y, X).fit()
    predictions = model.predict(X) 
    print_model = model.summary()
    return print_model 

Он возвращает эту ошибку: ValueError : не удалось преобразовать строку в число с плавающей запятой:

Примеры, которые я пробовал:

map(float, x)
df['VARIABLE'] = df['VARIABLE'].astype(float)

А также функция замены.

I ' буду очень признателен за любую помощь. Я изо всех сил пытался понять это последние несколько дней и просматривал архивы Stack Overflow.

Спасибо!

1 Ответ

0 голосов
/ 09 июля 2020

проверьте значения ваших столбцов, они должны быть в следующем формате '10 .5674 '

Поэтому вам необходимо удалить все остальные символы, чтобы избежать этой ошибки. Кроме того, вам нужно удалить все строки 'nan' 'empty .... Они вызовут ту же ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...