我的代码:
### Working with NaN using sklearn
import numpy as np
from sklearn.preprocessing import Imputer
### Mean strategy
imp = Imputer(missing_values='NaN', strategy='mean', axis=1)
imp.fit([1,5,9,np.NaN])
X = [1,5,9,np.NaN]
y = imp.transform(X)
print (y)
跑完后我收到以下警告信息: C:\ Users \ Admin \ Anaconda3 \ lib \ site-packages \ sklearn \ utils \ validation.py:386:DreprecationWarning:传递1d数组,因为数据在0.17中已弃用,并且会在0.19中提升ValueError。如果数据具有单个要素,则使用X.reshape(-1,1)重新整形数据;如果包含单个样本,则使用X.reshape(1,-1)重新整形数据。 DeprecationWarning)
如何解决?我尝试了重塑,但它给出了错误消息: '列表'对象没有属性'重塑'
请帮忙。
答案 0 :(得分:0)
所以我运行你的代码并更改X
做一个二维列表...原来这是因为你传递一维数组进行转换所以它给你抛出了错误......所以我把它变成了二维lisst
import numpy as np
from sklearn.preprocessing import Imputer
### Mean strategy
imp = Imputer(missing_values='NaN', strategy='mean', axis=1)
imp.fit([1,5,9,np.NaN])
X = [[1,5,9,np.NaN]] # < =========== The change that I made
y = imp.transform(X)
print(y)
enter code here