numpy.array2string #

麻木的。array2string ( a , max_line_width=None , precision=None , suggest_small=None ,分隔符=' ' , prefix='' , style=<无 值> , formatter=None , Threshold=None , edgeitems=None , sign=None , floatmode =无,后缀='' , * ,遗留=无) [来源] #

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

参数
一个数组

输入数组。

max_line_width int,可选

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

precision int 或 None,可选

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

抑制小布尔值,可选

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

分隔符str,可选

插入到元素之间。

前缀str,可选
后缀str,可选

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

prefix + array2string(a) + suffix

输出按前缀字符串的长度向左填充,并在列处强制换行。需要注意的是,输出中不包含前缀和后缀字符串的内容。max_line_width - len(suffix)

样式_NoValue,可选

没有效果,请勿使用。

自版本 1.14.0 起已弃用。

可调用的格式化字典,可选

如果不是“无”,则键应指示相应格式化函数适用的类型。 Callables 应该返回一个字符串。未指定的类型(通过其相应的键)由默认格式化程序处理。可以设置格式化程序的各个类型有:

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

  • 'all' : 设置所有类型

  • 'int_kind':设置'int'

  • 'float_kind' :设置 'float' 和 'longfloat'

  • 'complex_kind' :设置 'complexfloat' 和 'longcomplexfloat'

  • 'str_kind':设置'numpystr'

阈值int,可选

触发汇总而不是完整表示的数组元素总数。默认为numpy.get_printoptions()['threshold'].

EdgeItems int,可选

每个维度开头和结尾处汇总的数组项数。默认为numpy.get_printoptions()['edgeitems'].

符号字符串,'-'、'+' 或 ' ',可选

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

floatmode str,可选

控制浮点类型精度选项的解释。默认为numpy.get_printoptions()['floatmode'].可以取以下值:

  • “fixed”:始终打印精确小数位,即使这会打印比唯一指定值所需的更多或更少的数字。

  • 'unique':打印唯一表示每个值所需的最小小数位数。不同的元素可能具有不同的位数。精度选项的值 被忽略。

  • 'maxprec':打印最多精确的小数位,但如果一个元素可以用更少的数字唯一地表示,则只打印那么多的数字。

  • 'maxprec_equal':最多打印精度小数位,但如果数组中的每个元素都可以用相同数量的较少数字唯一表示,则对所有元素使用那么多数字。

字符串或False,可选

如果设置为字符串“1.13”,则启用 1.13 旧版打印模式。这通过在浮点数的符号位置中包含一个空格以及 0d 数组的不同行为来近似 numpy 1.13 打印输出。如果设置为 False,则禁用旧模式。无法识别的字符串将被忽略,并发出向前兼容性警告。

1.14.0 版本中的新增功能。

返回
array_str字符串

数组的字符串表示形式。

加薪
类型错误

如果格式化程序中的可调用函数不返回字符串。

笔记

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

这是一个非常灵活的功能;array_repr并在内部array_str使用 array2string,因此具有相同名称的关键字在所有三个函数中应该具有相同的作用。

例子

>>> 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]'