如何检查一个数字是np.float64还是np.float32或np.float16?

时间:2015-02-03 06:15:58

标签: python numpy

除了使用一组或陈述

isinstance( x, np.float64 )isinstance( x, np.float32 )isinstance( np.float16 )

是否有更简洁的方法来检查变量是否为浮动类型?

1 个答案:

答案 0 :(得分:16)

您可以使用np.floating

In [11]: isinstance(np.float16(1), np.floating)
Out[11]: True

In [12]: isinstance(np.float32(1), np.floating)
Out[12]: True

In [13]: isinstance(np.float64(1), np.floating)
Out[13]: True

注意:非numpy类型返回False:

In [14]: isinstance(1, np.floating)
Out[14]: False

In [15]: isinstance(1.0, np.floating)
Out[15]: False

包含更多类型,例如python浮动,你可以在isinstance中使用一个元组:

In [16]: isinstance(1.0, (np.floating, float))
Out[16]: True