Я написал функцию для оценки параметров простой линейной регрессии.Функция выдает несколько выходов.Функциональные входы - это два списка .Кроме того, у меня есть исходный DataFrame df, откуда я получил два списка.
Я хочу добавить некоторые выходные данные из функции в исходный DataFrame в виде новых столбцов или иметь новые списки вне функции.
например:
def predict(X,Y):
beta1 = sum([(X[i] - mean_X)*(Y[i] - mean_Y) for i in range(len(X))]) / sum([(X[i] - mean_X)**2 for i in range(len(X))])
beta0 = mean_Y - beta1 * mean_X
y_hat = [beta0 + beta1*X[i] for i in range(len(X))]
return df.assign(prediction = y_hat)
Здесь mean_X и mean_Y - среднее значение выборки для списка X и списка Y соответственно.
Также я попытался numpy.insert () добавить y_hat не в исходный DataFrame, а в X, который я преобразовал в массив numpy.
У меня нет успеха в достижении желаемого результата, поэтому кто-то может мне помочь?