python - 如何检查数字是否为 np.float64 或 np.float32 或 np.float16?

标签 python numpy

除了使用一组 or 语句之外

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

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

最佳答案

你可以使用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 float ,你可以在 isinstance 中使用一个元组:

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

关于python - 如何检查数字是否为 np.float64 或 np.float32 或 np.float16?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28292542/

相关文章:

python - 实时更改 Bokeh 图 block 上的颜色

python - Django Views.py 验证电话号码

python - 过滤每小时数据python

python - 解析函数

python - 使用cql从python插入到cassandra

python - 使用 Numpy 更快地提取多维数组的下三角?

python - numpy ndarray 索引 - 从元组中检索索引

python - 将 Nmpy 图像从 BGR 转换为 RBG 后 wx.Bitmap.FromBuffer 中的 "ValueError: Invalid data buffer size."

datetime - 在 pandas/numpy 中获取每个月的具体最后一天

python - 为什么线性读混排写入不比随机读线性写入快?