如何使用线性回归预测python中的Na's

时间:2018-10-06 19:18:45

标签: python anaconda regression sklearn-pandas

我的数据集缺少一些我想预测的Y值。因此,为了使用以下代码首先创建模型,我删除了Na:-> RBall.dropna(subset = ['NextHPPR'],inplace = True

import statsmodels.api as sm 
from sklearn import linear_model

RBall.dropna(subset=['NextHPPR'], inplace = True)

X = RBall[['ReceivingTargets_x','SnapsPlayedPercentage','RushingAttempts_x', 'RushingAttempts_y']]

Y = RBall['NextHPPR']

lm = linear_model.LinearRegression()
model = lm.fit(X,Y)

这是删除NA之前我的数据的屏幕截图。 Note the NA's in NextHPPR, my Y variable in the regression

现在,我想使用我的模型返回并预测缺失的Na。我知道这是一个基本问题,但这是我使用python的第一天。谢谢。

1 个答案:

答案 0 :(得分:0)

我将使用NumPy查找NaN的索引,然后调用预测。

import numpy as np 

X = np.array([432, 234442, 43, 423, 2342, 3434])
Y = np.array([342, np.NaN, 23, 545, np.NaN, 23])

nan_idx = np.argwhere(np.isnan(Y)).flatten()

print(X[nan_idx])
>>>[234442   2342]

predict_NaNs = lm.predict(X[nan_idx])