首页 > 解决方案 > numpy.gaussian_kde: ValueError: array must not contain infs or NaNs

问题描述

尽管我的数据不包含任何 infs 或 nans,但我收到此错误:

  File ".\eval.py", line 101, in <module>
    kernel = gaussian_kde(A[idxs][:,0])
  File "F:\Python\miniconda\lib\site-packages\scipy\stats\kde.py", line 206, in __init__
    self.set_bandwidth(bw_method=bw_method)
  File "F:\Python\miniconda\lib\site-packages\scipy\stats\kde.py", line 556, in set_bandwidth
    self._compute_covariance()
  File "F:\Python\miniconda\lib\site-packages\scipy\stats\kde.py", line 568, in _compute_covariance
    self._data_inv_cov = linalg.inv(self._data_covariance)
  File "F:\Python\miniconda\lib\site-packages\scipy\linalg\basic.py", line 948, in inv
    a1 = _asarray_validated(a, check_finite=check_finite)
  File "F:\Python\miniconda\lib\site-packages\scipy\_lib\_util.py", line 263, in _asarray_validated
    a = toarray(a)
  File "F:\Python\miniconda\lib\site-packages\numpy\lib\function_base.py", line 485, in asarray_chkfinite
    raise ValueError(
ValueError: array must not contain infs or NaNs

我检查了 nans 和 infs,但没有:

print(np.count_nonzero(np.isnan(A)))   # 0
print(np.count_nonzero(np.isinf(A)))   # 0

kernel = gaussian_kde(A[idxs][:,0])     # error here

我应该解决什么问题?

标签: pythonnumpyscipy

解决方案


推荐阅读