【发布时间】:2019-11-18 00:52:35
【问题描述】:
如果是 float 或 complex dtype,我如何检查 numpy 数组?对于简单的示例,以下检查都可以正常工作。
# these are True
a = np.zeros(10)
a.dtype == float
a.dtype == np.float
a.dtype == np.float64
b = np.zeros(10,dtype=complex)
b.dtype == complex
b.dtype == np.complex
b.dtype == np.complex128
但是,我有一个 dtype 数组 dtype('>f8')。之前的比较都没有将其识别为浮点数组。据我所知,字节顺序(> vs.
【问题讨论】:
-
np.iscomplexobj测试type的dtype:issubclass(arr.dtype.type, np.complexfloating)。基本 dtype 有几个级别的子类,所以简单的 '==' 测试并不总是有效。