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_width整数,可选

如果文本长度超过 max_line_width ,则插入换行符.默认为 numpy.get_printoptions()['linewidth'] .

precisionint 或 None,可选

浮点精度.默认为 numpy.get_printoptions()['precision'] .

suppress_smallbool, 可选

将“非常接近”零的数字表示为零;默认为 False.“非常接近”由精度定义:例如,如果精度为 8,则绝对值小于 5e-9 的数字表示为零.默认为 numpy.get_printoptions()['suppress'] .

separatorstr, optional

在元素之间插入.

prefixstr, optional
suffixstr, optional

前缀和后缀字符串的长度分别用于对齐和包装输出.数组通常打印为:

prefix + array2string(a) + suffix

输出在左侧用前缀字符串的长度进行填充,并在列 max_line_width - len(suffix) 处强制换行. 应该注意的是,前缀和后缀字符串的内容不包含在输出中.

style_NoValue, optional

没有效果,请勿使用.

自 1.14.0 版本弃用.

formattercallables 的 dict,可选

如果不是 None,则键应指示相应的格式化函数所应用于的类型.可调用对象应该返回一个字符串. 未指定(通过其相应键)的类型由默认格式化程序处理. 可以为其设置格式化程序的单个类型为:

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

  • ‘all’ : 设置所有类型

  • ‘int_kind’ : 设置 ‘int’

  • ‘float_kind’ : 设置 ‘float’ 和 ‘longfloat’

  • ‘complex_kind’ : 设置 ‘complexfloat’ 和 ‘longcomplexfloat’

  • ‘str_kind’:设置 ‘numpystr’

threshold整数,可选

触发摘要而非完整repr的数组元素总数.默认为 numpy.get_printoptions()['threshold'] .

edgeitems整数,可选

每维开头和结尾进行摘要的数组元素数量.默认为 numpy.get_printoptions()['edgeitems'] .

sign字符串,可以是’-‘,’+’或’ ‘,可选

控制浮点类型的符号打印.如果为’+’,则始终打印正值的符号.如果为’ ‘,则始终在正值的符号位置打印空格(空白字符).如果为’-‘,则省略正值的符号字符.默认为 numpy.get_printoptions()['sign'] .

在 2.0 版本发生变更: sign 参数现在可以是整数类型,以前是浮点类型.

floatmodestr, optional

控制浮点类型的 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 ,则禁用旧版模式.无法识别的字符串将被忽略,并发出警告以实现向前兼容性.

返回:
array_strstr

数组的字符串表示形式.

提出:
TypeError

如果 formatter 中的可调用对象未返回字符串.

注释

如果为某种类型指定了格式化程序,则该类型的 precision 关键字将被忽略.

这是一个非常灵活的函数; array_reprarray_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]'