繁体   English   中英

在python中使用sklearn的NaN错误

[英]Error with NaN using sklearn in 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:DeprecationWarning:传递1d数组,因为0.17中不赞成使用数据,而0.19中会引起ValueError 。 如果数据具有单个功能,则使用X.reshape(-1,1)来重塑数据,如果包含单个样本,则使用X.reshape(1,-1)来重塑数据。 DeprecationWarning)

怎么解决呢? 我尝试了重塑,但给出了错误消息:“列表”对象没有属性“重塑”

请帮忙。

所以我运行您的代码并更改X做一个2d列表...原来是因为您要传递一个1D数组进行转换,所以它引发了错误...所以我使它成为2D 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM