numpy.
set_printoptions
设置打印选项。
这些选项决定浮点数、数组和其他numpy对象的显示方式。
浮点输出的精度位数(默认为8)。如果 floatmode 不是 fixed ,根据需要打印尽可能多的数字以唯一地指定值。
触发摘要而不是完整repr的数组元素总数(默认值1000)。要始终使用完整的repr而不进行摘要,请通过 sys.maxsize .
sys.maxsize
在每个维度的开始和结束处汇总的数组项数(默认值为3)。
用于插入换行符的每行字符数(默认值为75)。
如果为真,则始终使用定点表示法打印浮点数字,在这种情况下,当前精度中等于零的数字将打印为零。如果为假,则当最小数字的绝对值小于1e-4或最大绝对值与最小值之比大于1e3时,使用科学记数法。默认值为假。
浮点非数字的字符串表示形式(默认NaN)。
浮点无穷大(默认inf)的字符串表示。
控制浮点类型符号的打印。如果“+”,则始终打印正值的符号。如果“”,则始终在正值的符号位置打印空格(空白字符)。如果“-”,则省略正值的符号字符。(默认值)
如果不是“无”,则键应指示相应格式化函数适用的类型。可调用文件应返回字符串。未指定的类型(通过其相应的键)由默认格式化程序处理。可为其设置格式化程序的单个类型为:
“布尔”
“int”
“时间增量”:A numpy.timedelta64
numpy.timedelta64
“日期时间”:A numpy.datetime64
numpy.datetime64
“飘浮”
“longfloat”:128位浮点
“复合浮标”
“longcomplexfloat”:由两个128位浮点组成
“numpystr”:类型 numpy.string_ 和 numpy.unicode_
numpy.string_
numpy.unicode_
“对象”: np.object_ 数组
可用于同时设置一组类型的其他键包括:
“all”:设置所有类型
“int_kind”:设置“int”
“float_kind”:设置“float”和“longfloat”
“复杂类型”:设置“complexfloat”和“longcomplexfloat”
“stru kind”:设置“numpstr”
控制对 precision 浮点类型的选项。可以采用以下值(默认maxprecïu等于):
即使打印的数字多于或少于唯一指定值所需的数字。
唯一地表示每个值。不同的元素可以有不同的位数。的值 precision 选项被忽略。
一个元素可以用更少的数字唯一地表示,只需用那么多数字来打印它。
但是,如果数组中的每一个元素都可以用相等的更少的数字唯一地表示,那么对所有元素都使用这些数字。
如果设置为字符串 '1.13' 启用1.13传统打印模式。这近似于numpy 1.13打印输出,方法是在浮点数的符号位置包含一个空格,以及0d数组的不同行为。如果设置为 False ,禁用旧模式。无法识别的字符串将被忽略,并发出向前兼容警告。
1.14.0 新版功能.
参见
get_printoptions
printoptions
set_string_function
array2string
笔记
formatter 总是通过调用重置 set_printoptions .
formatter
使用 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. ])