我使用以下公共数据集练习线性回归:
https://www.kaggle.com/theforcecoder/wind-power-forecasting
我尝试使用numpy多项式进行最小二乘回归,但由于列的值为nan,所以遇到了问题
将dropna应用于从中提取列的数据帧不会产生效果。我尝试使用in_place=True和定义新的数据帧,但两者都不起作用:
LSFitdDf = BearingTempsCorr[['WindSpeed', 'BearingShaftTemperature']]
LSFitdDf = LSFitdDf[['WindSpeed', 'BearingShaftTemperature']]
WindSpeed = BearingTempsCorr['WindSpeed']
BearingShaftTemperature = BearingTempsCorr['BearingShaftTemperature']
print(len(WindSpeed))
print(len(BearingShaftTemperature))
及
LSFitdDf = BearingTempsCorr[['WindSpeed', 'BearingShaftTemperature']].dropna()
LSFitdDf = LSFitdDf[['WindSpeed', 'BearingShaftTemperature']]
WindSpeed = BearingTempsCorr['WindSpeed']
BearingShaftTemperature = BearingTempsCorr['BearingShaftTemperature']
print(len(WindSpeed))
print(len(BearingShaftTemperature))
两者产生相同的输出(两列的长度=323)
但是,将dropna应用于列本身会删除行:
WindSpeed = BearingTempsCorr['WindSpeed'].dropna()
BearingShaftTemperature = BearingTempsCorr['BearingShaftTemperature'].dropna()
结果长度=(316312)
然而,这带来了一个新问题:由于x和y的长度不同,因此无法应用回归
这是怎么回事
您的代码中有一个错误:
您可以使用
BearingTempsCorr
,但应该使用LSFitdDf
(保存dropna值的地方)另外,您还有冗余行,它只是将
LSFitdDf
复制到同一个变量中p.p.S.获取整个数据集但在所需列中删除带有NA值的行的最清晰方法是
相关问题 更多 >
编程相关推荐