numpy.
set_printoptions
(precision = None,threshold = None,edgeitems = None,linewidth = None,抑制= None,nanstr = None,infstr = None,formatter = None,sign = None,floatmode = None,** kwarg )[源代码] ¶设置打印选项。
这些选项确定浮点数,数组和其他NumPy对象的显示方式。
浮点输出的精度位数(默认为8)。如果floatmode不固定,则可以为 None ,以打印必要的位数以唯一地指定该值。
触发汇总而不是完整repr的数组元素总数(默认为1000)。要始终使用完整的repr而不进行摘要,请传递sys.maxsize
。
每个维度的开始和结束处摘要中的数组项目数(默认为3)。
每行用于插入换行符的字符数(默认为75)。
如果为True,则始终使用定点表示法打印浮点数,在这种情况下,当前精度中等于零的数字将打印为零。如果为False,则当最小数的绝对值<1e-4或最大绝对值与最小值之比> 1e3时使用科学计数法。默认值为False。
浮点非数字的字符串表示形式(默认为nan)。
浮点无穷大的字符串表示形式(默认为inf)。
控制浮点类型符号的打印。如果为“ +”,请始终打印正值的符号。如果为'',则始终在正值的符号位置打印一个空格(空白字符)。如果为“-”,则省略正值的符号字符。(默认为“-”)
如果不是None,则键应指示相应的格式化功能适用的类型。可调用对象应返回一个字符串。未指定的类型(通过其对应的键)由默认格式化程序处理。可以设置格式器的单个类型为:
'布尔'
'int'
'timedelta':一个 numpy.timedelta64
'datetime':a numpy.datetime64
'浮动'
'longfloat':128位浮点数
“复杂浮标”
'longcomplexfloat':由两个128位浮点数组成
'numpystr':类型numpy.string_
和numpy.unicode_
'object':np.object_数组
'str':所有其他字符串
可用于一次设置一组类型的其他键是:
'all':设置所有类型
'int_kind':设置'int'
'float_kind':设置'float'和'longfloat'
'complex_kind':设置'complexfloat'和'longcomplexfloat'
'str_kind':设置'str'和'numpystr'
控制浮点类型的precision选项的解释。可以采用以下值(默认为maxprec_equal):
即使这将打印出比指定唯一值所需的位数多或少的数字。
以唯一地代表每个值。不同的元素可能具有不同数量的数字。precision选项的值将 被忽略。
一个元素可以用更少的数字唯一表示,而只用那么多的数字打印。
但是,如果数组中的每个元素都可以用相等数量的更少位数唯一表示,则对所有元素都使用那么多的位数。
如果设置为字符串“ 1.13”,则启用1.13旧版打印模式。通过在浮点数的符号位置包含一个空格和0d数组的不同行为,这近似于numpy 1.13打印输出。如果设置为 False,则禁用旧模式。无法识别的字符串将被警告,并带有向前兼容性的警告。
1.14.0版中的新功能。
笔记
formatter
始终会通过调用重置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. ])