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)[source]#

返回数组的字符串表示形式。

参数:
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,则键应指示相应的格式化函数适用的类型。可调用函数应返回字符串。未指定(通过其对应的键)的类型由默认格式化程序处理。可以设置格式化程序的各个类型为

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

  • ‘all’ : 设置所有类型

  • ‘int_kind’ : 设置 ‘int’

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

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

  • ‘str_kind’ : 设置 ‘numpystr’

thresholdint,可选

触发汇总而不是完整 repr 的数组元素总数。默认为 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_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]'