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' 值的应用程序行吗?是否有捷径可寻?谢谢。

不,您不能忽略这些条目。这个问题需要在训练模型之前处理好,否则不能训练。

根据您的数据和应用程序,首选不同的方法来处理这些 NaNinf。此 问题中发布的代码示例之一:

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.

在这种情况下,我们将删除所有具有 infNaN 值的行。