Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nan到Num Python_Python_Arrays_Numpy_Nan - Fatal编程技术网

Nan到Num Python

Nan到Num Python,python,arrays,numpy,nan,Python,Arrays,Numpy,Nan,我有多重数组,我计算线性回归,但有时它会给我0/0的值,这会给我一个'NaN'。我知道,要转换一个数组,其中的数字是NaN,可以使用。但是如果我想转换一个不是数组中的值,而是线性回归的结果,该怎么办 编辑:这不是一个重复的问题(),因为我指的是一个不在数组中的项目/结果您可以检查您选择的变量是否为NaN with。如果是,请将其更改为您选择的号码。像这样: >>> import math >>> x = float("nan") >>> x

我有多重数组,我计算线性回归,但有时它会给我0/0的值,这会给我一个'NaN'。我知道,要转换一个数组,其中的数字是NaN,可以使用。但是如果我想转换一个不是数组中的值,而是线性回归的结果,该怎么办


编辑:这不是一个重复的问题(),因为我指的是一个不在数组中的项目/结果

您可以检查您选择的变量是否为NaN with。如果是,请将其更改为您选择的号码。像这样:

>>> import math
>>> x = float("nan")
>>> x
nan
>>> if math.isnan(x):
...     x = 123 # just an example
...
>>> x
123

numpy.nan_to_num
在标量上运行良好

>>> import numpy as np
>>> np.nan_to_num(float('inf'))
1.7976931348623157e+308
>>> np.nan_to_num(float('nan'))
0.0
>>> np.nan_to_num(float('-inf'))
-1.7976931348623157e+308

我理解如何转换
inf
-inf
,但在许多情况下,当您有一个只适用于数字的处理管道时,您何时会想要将
nan
转换为
0
?@AlexBliskovsky,你根本不在乎偶尔的nan。如果OP想要精确匹配
numpy.nan\u to_num
的行为,这并不完全正确-
math.isnan(float('inf'))==False
,但是
numpy.nan\u to_num
会将
float('inf')
转换为一个大的数字,而不是保持原样。但是,如果OP只关心实际的NAN,那么这很好。实际上,这转换了值。但是,感谢senshin注意到这一点(和回答),也感谢@Carsten!谢谢将为数组提供的相同推理应用于标量值有什么问题?