【发布时间】:2020-01-10 22:47:30
【问题描述】:
我有一个包含 nan 的 numpy 数组。我尝试使用
将这些 nan 转换为零 X_ = np.nan_to_num(X_, copy = False)
但它没有工作。我怀疑它是因为 X_ 的 dtype 是对象。我尝试使用
将其转换为 float64X_= X_.astype(np.float64)
但这也没用
当 dtype 为 object 时,有没有办法将 nan 转换为零?
【问题讨论】:
-
你的
X_类型和dtype是什么? -
@Alpha dtype 是 'object' 并且 type 是 'numpy.ndarray'
-
你是如何得到这个“对象”nan的?
-
@Alpha 我将列表中的单词与包含键值对的字典中的键匹配,然后将相应的值加载到列表中并将列表转换为数组。数组的 dtype 变成了“对象”,而单词和键不匹配的实例,我填充了一个零数组,但是当我检查时,我看到了 nan。 vector_values.append(self._E.get(w, Q) 其中 w 是字典的键,Q 是一个 numpy 零数组。
-
来自您的 cmets,我认为有些地方不合适。也许你应该直接发布你的问题,为什么你的预期零变成了 nan