首页 > 解决方案 > sklearn ValueError:输入包含 NaN

问题描述

ValueError:输入包含我已运行的 NaN

from sklearn.preprocessing import OrdinalEncoderfrom
data_.iloc[:,1:-1] = OrdinalEncoder().fit_transform(data_.iloc[:,1:-1])

这是数据_

    Age     Sex Embarked  Survived
0  22.0    male        S         0
1  38.0  female        C         2
2  26.0  female        S         2
3  35.0  female        S         2
4  35.0    male        S         0

标签: pythonscikit-learnfeature-engineering

解决方案


在做一些处理器之前,你总是必须对数据进行预处理,并对你的数据进行一些总结。具体来说,您获得的错误告诉您您有 NaN 值。要检查它,请尝试以下命令:

df.isnull().any().any()

如果输出为TRUE,则​​您有 NaN 值。如果你想知道这个 NaN 值在哪里,你可以运行下一个命令:

df.isnull().any()

然后,您将知道您的 NaN 值在哪一列。

一旦你知道你有 NaN 值,你就必须对它们进行预处理(消除、填充、......任何你认为是最好的选择)。gtomer评论的链接是一个很好的资源。


推荐阅读