在python

时间:2017-02-06 17:05:18

标签: python

我的代码:

### 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)

如何解决?我尝试了重塑,但它给出了错误消息: '列表'对象没有属性'重塑'

请帮忙。

1 个答案:

答案 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