numpy数据类型的最大允许值

107 投票
2 回答
70416 浏览
提问于 2025-04-18 03:32

我正在使用不同数据类型的numpy数组,比如uint8、uint16、int16等等。我想检查一个数字是否可以在某种数据类型的数组范围内表示。我的想法是想要一个类似这样的功能:

>>> im.dtype
dtype('uint16')
>>> dtype_max(im.dtype)
65535
>>> dtype_min(im.dtype)
0

有没有这样的功能呢?顺便说一下,我觉得这个问题应该有人问过,但我搜索了一下没有找到,所有“类似的问题”看起来都不相关。

补充一下:当然,现在我问了之后,确实有一个“相关”的问题给出了答案。哎呀。

2 个回答

23

你在找关于整数类型的 numpy.iinfo。相关文档可以在 这里 找到。

对于浮点数类型,还有 numpy.finfo。相关文档可以在 这里 找到。

161
min_value = np.iinfo(im.dtype).min
max_value = np.iinfo(im.dtype).max

文档:

  • np.iinfo (整数类型的机器限制)
  • np.finfo (浮点类型的机器限制)

撰写回答