我正在使用numpy数组,并且涉及到多种数据类型(uint8、uint16、int16等)。我想要检查一个数字是否可以在给定数据类型的数组限制范围内表示。我想象中的解决方法大致如下:
>>> im.dtype
dtype('uint16')
>>> dtype_max(im.dtype)
65535
>>> dtype_min(im.dtype)
0
有类似的东西吗?顺便说一下,我觉得这个问题以前肯定被问过,但我的搜索结果为空,并且所有的“类似问题”似乎都不相关。
编辑:当然,现在我已经问了,其中一个“相关”的问题确实有答案。糟糕。
issubclass(dtype, np.integer)
和issubclass(dtype, np.floating)
来进行分支选择,然后选择np.iinfo
或者np.finfo
。 - leon-w