Python asarray:如何检查其结果数据类型是否为数字?

Python asarray:如何检查其结果数据类型是否为数字?,python,arrays,numpy,types,Python,Arrays,Numpy,Types,我必须从带有int、float或复数的类似数组的数据中创建一个numpy.ndarray 我希望使用numpy.asarray函数来完成它 我不想给它一个严格的dtype参数,因为我想将复杂值转换为complex64或complex28,浮动为float32或float64,等等 但是,如果我只是简单地运行numpy.ndarray(一些未知的数据)并查看其结果的数据类型,我如何理解数据是数字的,而不是对象、字符串或其他东西?您可以检查数组的数据类型是否是np.number的子数据类型。例如:

我必须从带有int、float或复数的类似数组的数据中创建一个
numpy.ndarray

我希望使用
numpy.asarray
函数来完成它

我不想给它一个严格的
dtype
参数,因为我想将复杂值转换为
complex64
complex28
,浮动为
float32
float64
,等等


但是,如果我只是简单地运行
numpy.ndarray(一些未知的数据)
并查看其结果的数据类型,我如何理解数据是数字的,而不是对象、字符串或其他东西?

您可以检查数组的数据类型是否是
np.number
的子数据类型。例如:

>>> np.issubdtype(np.complex128, np.number)
True
>>> np.issubdtype(np.int32, np.number)
True
>>> np.issubdtype(np.str_, np.number)
False
>>> np.issubdtype('O', np.number) # 'O' is object
False
从本质上讲,这只是检查数据类型是否在