我有一个包含多个城市,一个响应变量和一个预测变量的数据集。我正在尝试对每个城市进行回归分析。这样不仅返回我一行数据,而且还返回系数为NaN。
train_output = pd.DataFrame(columns = ['intercept','coefficient','r2'])
for cit in train.city.unique():
y = train[train['city']==cit]['response']
y = np.array(y.values.tolist())
x = train[data['city']==cit]['predictor']
x = np.array(x).reshape((len(x), 1))
model = LinearRegression().fit(x, y)
model_output = {'intercept':model.intercept_,'coefficient':model.coef_[0], 'r2': model.score(x,y)}
df = pd.DataFrame(model_output, columns = ['intercept','coefficient','r2'], index = [cit])
train_output.append(df)
print(train_output)
答案 0 :(得分:0)
在不查看数据的情况下很难说出来。 但是,最常见的原因是输入中的NaN或Inf(要素或标签)。 每次迭代都得到NaN吗?