如何获取有效Numpy数据类型的范围?

2024-05-14 15:55:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我感兴趣的是找到一个特定的Numpy类型(例如np.int64np.uint32np.float32,等等),所有可能的有效值的范围是什么(例如np.int32可以存储最多2**31-1)。当然,我想理论上可以为每种类型计算出这一点,但是有没有一种方法可以在运行时这样做,以确保代码的可移植性?


Tags: 方法代码numpy类型np理论感兴趣float32
2条回答

可以使用^{}查找整数类型arg的最大值,使用^{}查找浮点类型arg的最大值。

>>> numpy.iinfo(numpy.uint64).min
0
>>> numpy.iinfo(numpy.uint64).max
18446744073709551615L
>>> numpy.finfo(numpy.float64).max
1.7976931348623157e+308
>>> numpy.finfo(numpy.float64).min
-1.7976931348623157e+308

iinfo只提供minmax,但是finfo也提供有用的值,例如eps(可表示的最小数>;0)和resolution(类型arg的近似十进制数解析)。

引用一个numpy讨论列表:

That information is available via numpy.finfo() and numpy.iinfo():

In [12]: finfo('d').max
Out[12]: 1.7976931348623157e+308

In [13]: iinfo('i').max
Out[13]: 2147483647

In [14]: iinfo('uint8').max
Out[14]: 255

链接here

相关问题 更多 >

    热门问题