本文简要介绍 python 语言中 numpy.set_printoptions
的用法。
用法:
numpy.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None, sign=None, floatmode=None, *, legacy=None)
设置打印选项。
这些选项确定浮点数、数组和其他NumPy 对象的显示方式。
- precision: int 或无,可选
浮点输出的精度位数(默认为 8)。如果 floatmode 不固定,则可能为 None ,以打印尽可能多的数字以唯一指定值。
- threshold: 整数,可选
触发汇总而不是完整 repr 的数组元素总数(默认 1000)。要始终使用完整的 repr 而不进行汇总,请传递
sys.maxsize
。- edgeitems: 整数,可选
每个维度开始和结束时汇总的数组项数(默认 3)。
- linewidth: 整数,可选
用于插入换行符的每行字符数(默认为 75)。
- suppress: 布尔型,可选
如果为 True,则始终使用定点表示法打印浮点数,在这种情况下,当前精度中等于零的数字将打印为零。如果为 False,则当最小数的绝对值 < 1e-4 或最大绝对值与最小值之比 > 1e3 时使用科学计数法。默认值为假。
- nanstr: str,可选
浮点 not-a-number 的字符串表示形式(默认为 nan)。
- infstr: str,可选
浮点无穷大的字符串表示(默认 inf)。
- sign: 字符串,“-”、“+”或“”,可选
控制浮点类型符号的打印。如果为“+”,则始终打印正值的符号。如果是‘’,总是在正值的符号位置打印一个空格(空白字符)。如果为“-”,则省略正值的符号字符。 (默认 '-')
- formatter: 可调用的字典,可选
如果不是 None,则键应指示相应格式化函数适用的类型。可调用对象应返回一个字符串。未指定的类型(通过其相应的键)由默认格式化程序处理。可以设置格式化程序的各个类型是:
‘bool’
‘int’
‘timedelta’:一个
numpy.timedelta64
‘datetime’:一个
numpy.datetime64
‘float’
‘longfloat’:128 位浮点数
‘complexfloat’
‘longcomplexfloat’:由两个 128 位浮点数组成
‘numpystr’ :类型
numpy.string_
和numpy.unicode_
‘object’:np.object_ 数组
可用于一次设置一组类型的其他键是:
‘all’:设置所有类型
‘int_kind’:设置‘int’
‘float_kind’:设置‘float’和‘longfloat’
‘complex_kind’:设置‘complexfloat’和‘longcomplexfloat’
‘str_kind’:设置‘numpystr’
- floatmode: str,可选
控制浮点类型的精度选项的解释。可以采用以下值(默认 maxprec_equal):
- ‘fixed’:始终准确打印精确小数位数,
即使这会打印出比唯一指定值所需的更多或更少的数字。
- ‘unique’:打印所需的最小小数位数
唯一地表示每个值。不同的元素可能有不同的位数。精度选项的值被忽略。
- ‘maxprec’:最多打印精确小数位数,但如果
一个元素可以用更少的数字唯一表示,只有用那么多数字打印它。
- ‘maxprec_equal’:最多打印精确小数位数,
但是如果数组中的每个元素都可以用相同数量的更少数字来唯一表示,那么对所有元素使用那么多数字。
- legacy: 字符串或False, 可选的
如果设置为字符串“1.13”,则启用 1.13 旧版打印模式。这通过在浮点数的符号位置包含一个空格和 0d 数组的不同行为来近似 numpy 1.13 打印输出。这也启用了 1.21 旧版打印模式(如下所述)。
如果设置为字符串“1.21”,则启用 1.21 旧版打印模式。通过不在分隔字段的逗号之后和冒号之后插入空格,这近似于复杂结构化 dtypes 的 numpy 1.21 打印输出。
如果设置为 False,则禁用传统模式。
无法识别的字符串将被忽略,并发出前向兼容性警告。
参数:
注意:
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. ])
相关用法
- Python numpy set_string_function用法及代码示例
- Python numpy setdiff1d用法及代码示例
- Python numpy seterr用法及代码示例
- Python numpy seterrobj用法及代码示例
- Python numpy setxor1d用法及代码示例
- Python numpy seterrcall用法及代码示例
- Python numpy searchsorted用法及代码示例
- Python numpy select用法及代码示例
- Python numpy shape用法及代码示例
- Python numpy scimath.log用法及代码示例
- Python numpy signbit用法及代码示例
- Python numpy sort用法及代码示例
- Python numpy scimath.logn用法及代码示例
- Python numpy square用法及代码示例
- Python numpy std用法及代码示例
- Python numpy scimath.log2用法及代码示例
- Python numpy sum用法及代码示例
- Python numpy spacing用法及代码示例
- Python numpy squeeze用法及代码示例
- Python numpy scimath.arccos用法及代码示例
- Python numpy shares_memory用法及代码示例
- Python numpy s_用法及代码示例
- Python numpy swapaxes用法及代码示例
- Python numpy sctype2char用法及代码示例
- Python numpy show_config用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.set_printoptions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。