Максимальное допустимое значение для типа данных numpy

Я работаю с массивами numpy ряда типов данных (uint8, uint16, int16 и т.д.). Я хотел бы иметь возможность проверить, может ли число быть представлено в пределах массива для данного типа данных. Я представляю себе что-то похожее:

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

Есть ли что-то подобное? Кстати, мне кажется, что этого нужно было спросить раньше, но мой поиск оказался пустым, и все "похожие вопросы" кажутся несвязанными.

Изменить: Конечно, теперь, когда я спросил, один из "связанных" вопросов действительно имеет ответ. К сожалению.

Ответы

Ответ 1

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

документы:

  • np.iinfo (машинные ограничения для целых типов)
  • np.finfo (машинные ограничения для типов с плавающей запятой)

Ответ 2

Вы ищете numpy.iinfo для целых типов. Документация здесь.

Там также numpy.finfo для типов с плавающей запятой. Документация здесь.