2024-04-20 13:15:15 发布
网友
我有一个包含nan的numpy数组。我试图用
X_ = np.nan_to_num(X_, copy = False)
但没用。我怀疑是因为X的数据类型是object。我试图用
但那也没用
当有一个dtype转换为零对象时有没有方法?在
a = [np.nan] b = np.array(a) c = np.nan_to_num(b) print(b) print(c)
结果:
它起作用了。检查你的X格式。在
似乎由于对象类型的原因,无法转换为float。可能有点老套,但您可以尝试转换为str:
X_.astype(str).replace('np.NaN', 0).astype(float)
如果数组只包含“合理”(见下文)元素,则可以使用以下解决方法:
np.where(X_==X_,X_,0)
我的意思是元素e满足e==e,唯一的例外是nan。例如,如果没有用户定义的类用作元素,则应该是这种情况。在
结果:
^{pr2}$它起作用了。检查你的X格式。在
似乎由于对象类型的原因,无法转换为float。可能有点老套,但您可以尝试转换为str:
如果数组只包含“合理”(见下文)元素,则可以使用以下解决方法:
我的意思是元素e满足e==e,唯一的例外是nan。例如,如果没有用户定义的类用作元素,则应该是这种情况。在
相关问题 更多 >
编程相关推荐