Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.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
Python 获取错误时如何删除NaN:ValueError:Input包含NaN_Python_Nan - Fatal编程技术网

Python 获取错误时如何删除NaN:ValueError:Input包含NaN

Python 获取错误时如何删除NaN:ValueError:Input包含NaN,python,nan,Python,Nan,我正在尝试使用MinMaxScaler()将数据缩放到0-1之间,方法是: x_scaling = x_scale.transform(x) print("Min:", np.min(x_scaling)) print("Max:", np.max(x_scaling)) 我的trackback错误消息是: --------------------------------------------------------------------------- Value

我正在尝试使用
MinMaxScaler()
将数据缩放到0-1之间,方法是:

    x_scaling = x_scale.transform(x)

    print("Min:", np.min(x_scaling))
    print("Max:", np.max(x_scaling))
我的trackback错误消息是:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-75-c862a09c2cc2> in <module>()
  --> 120   x_scaling = x_scale.transform(x)
    121 
    122     print("Min:", np.min(x_scaling))

~/anaconda3_501/lib/python3.6/site-packages/sklearn/preprocessing/data.py in transform(self, X)
    365         check_is_fitted(self, 'scale_')
    366 
--> 367         X = check_array(X, copy=self.copy, dtype=FLOAT_DTYPES)
    368 
    369         X *= self.scale_

~/anaconda3_501/lib/python3.6/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    451                              % (array.ndim, estimator_name))
    452         if force_all_finite:
--> 453             _assert_all_finite(array)
    454 
    455     shape_repr = _shape_repr(array.shape)

~/anaconda3_501/lib/python3.6/site-packages/sklearn/utils/validation.py in _assert_all_finite(X)
     42             and not np.isfinite(X).all()):
     43         raise ValueError("Input contains NaN, infinity"
---> 44                          " or a value too large for %r." % X.dtype)
     45 
     46 

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
如果这是一个问题,因为错误消息指出了各种可能性,我能得到帮助解决这个问题将不胜感激

您要使用和:

返回数组的最小值或沿轴的最小值,忽略任何NaN。当遇到所有NaN切片时,将引发RuntimeWarning,并为该切片返回NaN

e、 g.创建一个忽略NAN的自定义定标器,如下所示:

x_std = (x - np.nanmin(x))/(np.nanmax(x) - np.nanmin(x))
x_scaled = x_std * (max - min) + min

其中min,max=feature\u range.

yourDF.fillna(0)
?您可以使用
dropna()
fillna()
?@Rakesh如果所有值都是正值,那么执行
。fillna(0)
然后取最小值将始终返回0。df.fillna(0)工作正常!!有可能看到这样一个例子吗?或者什么时候我可以把它添加到工作中?谢谢你的回复。假设我正确理解了这个解决方案。我做到了:x_std=(x-np.nanmin(x))/(np.nanmax(x)-np.nanmin(x))x_scaled=x_std*(x_test-x_test)+x_test这就是你的意思吗?如果是这样,我的最小值和最大值都是NaN?如果我按原样粘贴代码,我会得到错误“TypeError:不支持的操作数类型-:“内置函数或方法”和“内置函数或方法”
min
和max`都是内置函数,因此,使用它们作为变量名是不好的做法。
x_std = (x - np.nanmin(x))/(np.nanmax(x) - np.nanmin(x))
x_scaled = x_std * (max - min) + min