繁体   English   中英

SimpleImputer 值错误

SimpleImputer ValueError

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试用平均值替换 NaN,但是当我执行 fit 方法时,我收到此错误:

ValueError: 输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值。

这是我的代码:

from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values = "NaN", strategy = "mean")
imp = imp.fit(df_missing.iloc[:, 1:4])

在您将其标记为转帖之前,我知道我也可能会导入 numpy 并使用 np.nan 而不是“NaN”,但是没有办法解决它并坚持使用 pandas 和 SimpleImputer 吗? 我正在学习在线课程,我想尽可能地坚持下去; 不幸的是,它显然已经过时了,例如,它仍在运行

from sklearn.preprocessing import Imputer
2 个回复

我不确定我是否清楚地理解了您的问题,但我假设您要pd.NA or np.nan的列中不是pd.NA or np.nan ,而是"NaN" (一种对象类型)。 如果是这种情况,有一种方法可以解决它:

df_missing.iloc[:, 1:4] = df_missing.iloc[:, 1:4].replace({"NaN": np.nan})

通过这样做,首先你用np.nan替换"NaN" ,然后你可以使用 SimpleImputer:

imp = SimpleImputer(strategy = "mean")
imp = imp.fit(df_missing.iloc[:, 1:4])

我希望我理解你的问题,这个解决方案可以帮助你!

您可以设置imp对象;

imp = SimpleImputer(missing_values = np.nan, strategy = "mean")

3 使用“SimpleImputer”替换“NaN”值时出错

我已经尝试了所有替换这些值的方法,但都失败了! 我正在著名的“泰坦尼克号”数据集上执行此操作! 以下是数据的一瞥: 这是代码(仅输入部分): 尝试上面的代码给了我这个错误: 另一种尝试: 此代码给出以下错误: 也试过这个: 又出现同样的错误!!! 我也尝试过做其他小的改变, ...

10 为什么 /numpy/core/fromnumeric.py 在应用 SimpleImputer 时会引发“RuntimeWarning:reduce 中遇到无效值”?

有时运行数据科学脚本会对数据应用转换。 但是,执行某些转换时会发出警告。 获得了转换后的数据,但图书馆提出了一些警告。 我希望尽可能地在没有中途警告的情况下运行代码。 当SciKitLearn 库中的SimpleImputer 方法应用于此数据时(下面的 github repo):列 0 和 1 ...

暂无
暂无

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

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