np.float与np.float32和np.float64都不匹配

时间:2019-05-17 14:39:45

标签: python numpy

我正在寻找一种检查numpy数组是np.float64还是np.float32的方法。这对于np.float64来说很好:

a = np.random.rand(10)

if not issubclass(a.dtype.type, np.float):
    raise "Wrong type"  # No exception is raised for np.float64

但对于np.float32失败:

a = np.random.rand(10).astype(np.float32)

if not issubclass(a.dtype.type, np.float):
    raise "Wrong type"  # An exception is raised!

1 个答案:

答案 0 :(得分:0)

检查数据类型是否为浮点数的一种方法是使用issubdtype

In [1]: a = np.random.rand(10).astype(np.float64)

In [2]: b = np.random.rand(10).astype(np.float32)

In [3]: np.issubdtype(a.dtype,np.floating)
Out[3]: True

In [4]: np.issubdtype(b.dtype,np.floating)
Out[4]: True