就像标题所说的那样,当我发送一个应该是包含浮点数的数组的输入A时,我想引发异常。也就是说,如果A包含至少一个不是float的项,则应返回TypeError。
答案 0 :(得分:2)
numpy数组中的所有数字都具有相同的dtype。因此,您可以通过查看array.dtype
快速查看数组的类型。如果这是float或float64,那么数组中的每个项都将是float类型。
Numpy也可以创建具有类似于普通python列表的混合dtypes的数组,但是array.dtype=np.object
,在这种情况下,任何东西都可以在数组元素中。但根据我的经验,只有少数情况下您确实需要np.object
检查dtype是float16
,float32
,float64
使用
if not issubclass(array.dtype.type, numpy.float):
raise TypeError('float type expected')