我正在寻找一种检查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!
答案 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