gpt4 book ai didi

python - 当 dtype 是对象时使用 numpy 函数

转载 作者:行者123 更新时间:2023-11-28 22:51:20 24 4
gpt4 key购买 nike

我的 numpy 数组中有一列,其中有一堆 long 和一些 NaN。其中没有其他 float。如果我将整个列转换为 float,我将失去精度。

如果我不将整个列转换为 float,我将无法使用像 isnanisfinite 这样的 numpy 函数,因为数组是type object 尽管元素是有效类型。

有没有办法在使用 numpy 函数的同时保持精度?

a = np.array([10**50,19**50,float('NaN')])

a
#outputs:
array([100000000000000000000000000000000000000000000000000L,
8663234049605954426644038200675212212900743262211018069459689001L,
nan], dtype=object)

np.isnan(a)

#outputs error:

ufunc 'isnan' not supported for the input types, and the inputs could not be safely
coerced to any supported types according to the casting rule ''safe''

最佳答案

In [1760]: np.isnan(a.astype(float))
Out[1760]: array([False, False, True], dtype=bool)

因此,如果精度不是那么重要,只需 a=a.astype(float)

关于python - 当 dtype 是对象时使用 numpy 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com