当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy array2string用法及代码示例


本文简要介绍 python 语言中 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)

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

参数

a ndarray

输入数组。

max_line_width 整数,可选

如果文本长于max_line_width.默认为numpy.get_printoptions()['linewidth'].

precision int 或无,可选

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

suppress_small 布尔型,可选

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

separator str,可选

插入元素之间。

prefix str,可选
suffix str,可选

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

prefix + array2string(a) + suffix

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

style _NoValue,可选

没有效果,请勿使用。

formatter 可调用的字典,可选

如果不是 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']

floatmode str,可选

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

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

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

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

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

legacy 字符串或False, 可选的

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

返回

array_str str

数组的字符串表示形式。

抛出

TypeError

如果 formatter 中的可调用对象不返回字符串。

注意

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

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

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.array2string。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。