numpy.array2string#
- numpy.array2string(a, max_line_width=None, precision=None, suppress_small=None, separator=' ', prefix='', style=<no value>, formatter=None, threshold=None, edgeitems=None, sign=None, floatmode=None, suffix='', *, legacy=None)[源代码]#
返回数组的字符串表示形式.
- 参数:
- andarray
输入数组.
- max_line_widthint, 可选
如果文本长度超过 max_line_width,则插入换行符.默认为
numpy.get_printoptions()['linewidth']
.- precisionint 或 None, 可选
浮点精度.默认为
numpy.get_printoptions()['precision']
.- suppress_smallbool, 可选
将”非常接近”零的数字表示为零;默认是 False.非常接近的定义取决于精度:例如,如果精度是 8,则绝对值小于 5e-9 的数字表示为零.默认为
numpy.get_printoptions()['suppress']
.- separatorstr, 可选
插入在元素之间.
- prefixstr, 可选
- suffixstr, 可选
前缀和后缀字符串的长度分别用于对齐和包装输出.数组通常打印为:
prefix + array2string(a) + suffix
输出通过前缀字符串的长度向左填充,并且在列
max_line_width - len(suffix)
处强制换行.需要注意的是,前缀和后缀字符串的内容不包含在输出中.- style_NoValue, 可选
无效,请勿使用.
自 1.14.0 版本弃用.
- formatter可调用对象的字典,可选
如果不是 None,键应该指示各自的格式化函数适用的类型.可调用对象应返回一个字符串.未指定(通过其相应的键)的类型由默认格式化程序处理.可以为其设置格式化程序的个别类型包括:
‘bool’
‘int’
‘timedelta’ : 一个
numpy.timedelta64
‘datetime’ : 一个
numpy.datetime64
‘浮动’
‘longfloat’ : 128位浮点数
‘complexfloat’
‘longcomplexfloat’ : 由两个 128 位浮点数组成
‘void’ : 类型
numpy.void
‘numpystr’ : 类型
numpy.bytes_
和numpy.str_
其他可以用来一次性设置一组类型的键包括:
‘all’ : 设置所有类型
‘int_kind’ : 设置 ‘int’
‘float_kind’ : 设置 ‘float’ 和 ‘longfloat’
‘complex_kind’ : 设置 ‘complexfloat’ 和 ‘longcomplexfloat’
‘str_kind’ : 设置 ‘numpystr’
- thresholdint, 可选
触发汇总而不是完整表示的数组元素总数.默认为
numpy.get_printoptions()['threshold']
.- edgeitemsint, 可选
每个维度开始和结束时摘要中的数组项数.默认为
numpy.get_printoptions()['edgeitems']
.- sign字符串,可以是 ‘-’, ‘+’, 或 ‘ ‘, 可选
控制浮点类型的符号打印.如果为 ‘+’,始终打印正数值的符号.如果为 ‘ ‘,始终在正数值的符号位置打印一个空格(空白字符).如果为 ‘-‘,省略正数值的符号字符.默认为
numpy.get_printoptions()['sign']
.在 2.0 版本发生变更: sign 参数现在可以是整数类型,以前类型是浮点类型.
- floatmodestr, 可选
控制浮点类型的 precision 选项的解释.默认为
numpy.get_printoptions()['floatmode']
.可以取以下值:‘fixed’: 总是精确打印 precision 小数位,即使这会打印比唯一指定值所需的多或少的位数.
‘unique’: 打印表示每个值唯一所需的最小分数位数.不同的元素可能有不同的位数.`precision` 选项的值将被忽略.
‘maxprec’: 最多打印 precision 个小数位,但如果一个元素可以用更少的数字唯一表示,则只用那么多数字打印它.
‘maxprec_equal’: 最多打印 precision 个小数位,但如果数组中的每个元素都可以用相同数量的较少位数唯一表示,则对所有元素使用那么多位数.
- legacy : 字符串或 False,可选字符串或
如果设置为字符串
'1.13'
,则启用 1.13 旧版打印模式.这通过在浮点数的符号位置包含一个空格并改变 0d 数组的行为来近似 numpy 1.13 的打印输出.如果设置为 False,则禁用旧版模式.未识别的字符串将被忽略,并发出警告以确保向前兼容.在 1.14.0 版本加入.
- 返回:
- array_strstr
数组的字符串表示.
- 引发:
- TypeError
如果 formatter 中的可调用对象没有返回字符串.
备注
如果为某种类型指定了格式器,则该类型的 precision 关键字将被忽略.
这是一个非常灵活的函数;`array_repr` 和
array_str
在内部使用array2string
,因此具有相同名称的关键字在所有三个函数中应该同样工作.示例
>>> import numpy as np >>> x = np.array([1e-16,1,2,3]) >>> np.array2string(x, precision=2, separator=',', ... suppress_small=True) '[0.,1.,2.,3.]'
>>> x = np.arange(3.) >>> np.array2string(x, formatter={'float_kind':lambda x: "%.2f" % x}) '[0.00 1.00 2.00]'
>>> x = np.arange(3) >>> np.array2string(x, formatter={'int':lambda x: hex(x)}) '[0x0 0x1 0x2]'