How to deal with "ValueError: array must not contain infs or NaNs" while running regressions in python
How to deal with "ValueError: array must not contain infs or NaNs" while running regressions in python
我有一个带有增长变量的 df,通常一些初始值为 0,在这种情况下,当值从零移动到非零时它会产生无限值。
即
.. some variables... var1 var2 var1_growth var2_growth
0 0 NaN NaN
0 1 NaN inf
1 2 inf 1
1.5 2.2 0.5 0.1
...
当我 运行 PanelOLS 时,我收到一条错误消息
ValueError: array must not contain infs or NaNs
有没有办法忽略这些条目以继续回归,而不必删除它们并创建不同的数据集?
如果没有,最好的方法是什么?我应该在两列中删除具有 'inf' 值的应用程序行吗?是否有捷径可寻?谢谢。
不,您不能忽略这些条目。这个问题需要在训练模型之前处理好,否则不能训练。
根据您的数据和应用程序,首选不同的方法来处理这些 NaN
和 inf
。此 问题中发布的代码示例之一:
df.replace([np.inf, -np.inf], np.nan).dropna(axis=1) # You can replace inf and -inf with NaN, and then select non-null rows.
在这种情况下,我们将删除所有具有 inf
或 NaN
值的行。
我有一个带有增长变量的 df,通常一些初始值为 0,在这种情况下,当值从零移动到非零时它会产生无限值。
即
.. some variables... var1 var2 var1_growth var2_growth
0 0 NaN NaN
0 1 NaN inf
1 2 inf 1
1.5 2.2 0.5 0.1
...
当我 运行 PanelOLS 时,我收到一条错误消息
ValueError: array must not contain infs or NaNs
有没有办法忽略这些条目以继续回归,而不必删除它们并创建不同的数据集?
如果没有,最好的方法是什么?我应该在两列中删除具有 'inf' 值的应用程序行吗?是否有捷径可寻?谢谢。
不,您不能忽略这些条目。这个问题需要在训练模型之前处理好,否则不能训练。
根据您的数据和应用程序,首选不同的方法来处理这些 NaN
和 inf
。此
df.replace([np.inf, -np.inf], np.nan).dropna(axis=1) # You can replace inf and -inf with NaN, and then select non-null rows.
在这种情况下,我们将删除所有具有 inf
或 NaN
值的行。