首页 > 解决方案 > 数据框包含空值,但过滤后不显示空值。Python - 为机器学习准备数据

问题描述

我对机器学习领域还很陌生,目前我正在尝试使用随机森林来预测回报。

我已经建立了我的模型,但是每次我想预测测试集中的回报时,我都会收到以下错误:ValueError: Input contains NaN, infinity or a value too large for dtype('float32')

所以我试图在我的测试集中寻找 NaN。 测试集示例

当我计算所有空值时,python 告诉我我有 103。但是过滤后根本没有空值吗?

我在这里想念什么?

标签: pythonpandasdataframe

解决方案


你是什​​么意思outcome_test[outcome_test['bh1m'] == 0]?
如果你想检查一个元素是否为空,对于你的情况,请执行以下操作:

outcome_test[outcome_test['bh1m'].isnull()]

它将返回其bhm1特征为的数据点NAN。对于你的情况是这样的:

      bh1m
190   NaN
4354  NaN
...   NaN

此外,如果您想更改NaN值来0执行此操作:outcome_test['bh1m'].fillna(0, inplace=True)


推荐阅读