Python Sci工具包学习错误输入值
我正在使用Scikit学习为我的数据集插补缺失值,但从数据集中我的一个特征的最大值来看,显然这些缺失值的插补不正确。 首先,我使用pandas函数查看数据集中某个特征的最大10个值Python Sci工具包学习错误输入值,python,pandas,machine-learning,scikit-learn,sklearn-pandas,Python,Pandas,Machine Learning,Scikit Learn,Sklearn Pandas,我正在使用Scikit学习为我的数据集插补缺失值,但从数据集中我的一个特征的最大值来看,显然这些缺失值的插补不正确。 首先,我使用pandas函数查看数据集中某个特征的最大10个值 ofData = mergeData.iloc[:, 3] print ofData.nlargest(10) 这个输出是, 124 4.0 128 4.0 146 4.0 147 4.0 177 4.0 240 4.0 253 4.0 310 4
ofData = mergeData.iloc[:, 3]
print ofData.nlargest(10)
这个输出是,
124 4.0
128 4.0
146 4.0
147 4.0
177 4.0
240 4.0
253 4.0
310 4.0
360 4.0
361 4.0
这是正确的,我知道这是该功能的最大可能值。
然后我用Scikit learn估算数据
imp = Imputer(missing_values='NaN', strategy='mean', axis=1)
nData = imp.fit_transform(mergeData)
nData = pd.DataFrame(nData)
然后,我再次使用pandas查看此功能的最大10个值
ofData = nData.iloc[:, 3]
print ofData.nlargest(10)
哪些输出
1030 77.571129
1056 67.804684
1308 62.780544
1212 61.902375
927 61.207525
870 60.592999
1100 55.604145
1722 55.308159
1415 52.637559
72 49.940297
这些值显然不是该特征的平均值,因为它们都大于插补前的最大值。我完全不知道是什么原因导致了这种情况,我担心这可能会影响我的数据集中其他特征的插补。由于要用列中的平均值替换列中缺失的值,轴必须是0(这是默认值),而不是1。您的代码将丢失的值替换为行中的平均值