numpy.set_printoptions #

麻木的。set_printoptions精度=阈值=边缘项=线宽=抑制= nanstr = infstr =格式化程序=符号= floatmode = *遗留=[来源] #

设置打印选项。

这些选项决定浮点数、数组和其他 NumPy 对象的显示方式。

参数
precision int 或 None,可选

浮点输出的精度位数(默认 8)。如果floatmode固定,则可以为 None ,以根据需要打印尽可能多的数字来唯一指定该值。

阈值int,可选

触发汇总而不是完整重现的数组元素总数(默认 1000)。要始终使用完整的 repr 而无需摘要,请传递sys.maxsize

EdgeItems int,可选

每个维度开头和结尾处汇总的数组项数(默认为 3)。

线宽int,可选

用于插入换行符的每行字符数(默认 75)。

抑制布尔值,可选

如果为 True,则始终使用定点表示法打印浮点数,在这种情况下,当前精度等于 0 的数字将打印为零。如果为 False,则当最小数的绝对值 < 1e-4 或最大绝对值与最小值的比值 > 1e3 时,将使用科学记数法。默认值为 False。

nanstr str,可选

浮点非数字的字符串表示形式(默认 nan)。

infstr str,可选

浮点无穷大的字符串表示形式(默认 inf)。

符号字符串,'-'、'+' 或 ' ',可选

控制浮点类型符号的打印。如果是“+”,则始终打印正值的符号。如果为“ ”,则始终在正值的符号位置打印空格(空白字符)。如果为“-”,则省略正值的符号字符。 (默认 '-')

可调用的格式化字典,可选

如果不是“无”,则键应指示相应格式化函数适用的类型。 Callables 应该返回一个字符串。未指定的类型(通过其相应的键)由默认格式化程序处理。可以设置格式化程序的各个类型有:

其他可用于一次设置一组类型的键有:

  • 'all' : 设置所有类型

  • 'int_kind':设置'int'

  • 'float_kind' :设置 'float' 和 'longfloat'

  • 'complex_kind' :设置 'complexfloat' 和 'longcomplexfloat'

  • 'str_kind':设置'numpystr'

floatmode str,可选

控制浮点类型精度选项的解释。可以采用以下值(默认 maxprec_equal):

  • 'fixed':始终打印精确小数位,

    即使这会打印比唯一指定值所需的更多或更少的数字。

  • 'unique':打印所需的最小小数位数

    唯一地表示每个值。不同的元素可能具有不同的位数。精度选项的值 被忽略。

  • 'maxprec':打印最多精度的小数位,但如果

    一个元素可以用更少的数字来唯一地表示,只需用那么多的数字来打印它。

  • 'maxprec_equal':打印最多精度的小数位,

    但如果数组中的每个元素都可以用相同数量的较少数字来唯一表示,则对所有元素使用那么多数字。

字符串或False,可选

如果设置为字符串“1.13”,则启用 1.13 旧版打印模式。这通过在浮点数的符号位置中包含一个空格以及 0d 数组的不同行为来近似 numpy 1.13 打印输出。这也启用了 1.21 传统打印模式(如下所述)。

如果设置为字符串“1.21”,则启用 1.21 旧版打印模式。这近似于复杂结构数据类型的 numpy 1.21 打印输出,在分隔字段的逗号后面和冒号后面不插入空格。

如果设置为False,则禁用旧模式。

无法识别的字符串将被忽略,并发出向前兼容性警告。

1.14.0 版本中的新增功能。

在 1.22.0 版本中进行了更改。

笔记

格式化程序总是通过调用来重置set_printoptions

用作printoptions上下文管理器来临时设置值。

例子

浮点精度可以设置:

>>> np.set_printoptions(precision=4)
>>> np.array([1.123456789])
[1.1235]

长数组可以总结为:

>>> np.set_printoptions(threshold=5)
>>> np.arange(10)
array([0, 1, 2, ..., 7, 8, 9])

小结果可以被抑制:

>>> eps = np.finfo(float).eps
>>> x = np.arange(4.)
>>> x**2 - (x + eps)**2
array([-4.9304e-32, -4.4409e-16,  0.0000e+00,  0.0000e+00])
>>> np.set_printoptions(suppress=True)
>>> x**2 - (x + eps)**2
array([-0., -0.,  0.,  0.])

自定义格式化程序可用于根据需要显示数组元素:

>>> np.set_printoptions(formatter={'all':lambda x: 'int: '+str(-x)})
>>> x = np.arange(3)
>>> x
array([int: 0, int: -1, int: -2])
>>> np.set_printoptions()  # formatter gets reset
>>> x
array([0, 1, 2])

要恢复默认选项,您可以使用:

>>> np.set_printoptions(edgeitems=3, infstr='inf',
... linewidth=75, nanstr='nan', precision=8,
... suppress=False, threshold=1000, formatter=None)

另外,要临时覆盖选项,请用作printoptions上下文管理器:

>>> with np.printoptions(precision=2, suppress=True, threshold=5):
...     np.linspace(0, 10, 10)
array([ 0.  ,  1.11,  2.22, ...,  7.78,  8.89, 10.  ])