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,则键应指示相应的格式化函数适用的类型。可调用对象应返回字符串。未指定(通过其对应的键)的类型由默认格式化程序处理。可以设置格式化程序的单个类型包括: - ‘bool’ 
- ‘int’ 
- ‘timedelta’ : `numpy.timedelta64` 类型 
- ‘datetime’ : `numpy.datetime64` 类型 
- ‘float’ 
- ‘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']。
- signstring, 值为 ‘-’, ‘+’, 或 ‘ ’, 可选
- 控制浮点类型的符号打印。如果为 ‘+’,则始终打印正值的符号。如果为 ‘ ‘,则始终在正值的符号位置打印一个空格(空白字符)。如果为 ‘-’,则省略正值的符号字符。默认为 - numpy.get_printoptions()['sign']。- 2.0 版本新增:sign 参数现在可以是整数类型,以前仅限浮点类型。 
- floatmodestr, 可选
- 控制浮点类型的 precision 选项的解释。默认为 - numpy.get_printoptions()['floatmode']。可取以下值:- ‘fixed’:始终精确打印 precision 位小数,即使这会打印比唯一指定值所需位数更多或更少的数字。 
- ‘unique’:打印唯一表示每个值所需的最少小数位数。不同元素可能具有不同数量的位数。precision 选项的值将被忽略。 
- ‘maxprec’:最多打印 precision 位小数,但如果一个元素可以用更少的位数唯一表示,则只打印那么多位数。 
- ‘maxprec_equal’:最多打印 precision 位小数,但如果数组中的每个元素都可以用相同数量的更少位数唯一表示,则对所有元素使用该位数。 
 
- legacystring 或 False, 可选
- 如果设置为字符串 - '1.13',则启用 1.13 旧版打印模式。这通过在浮点数的符号位置包含一个空格以及对 0d 数组的不同行为来近似 NumPy 1.13 的打印输出。如果设置为 False,则禁用旧版模式。未识别的字符串将被忽略并发出警告,以保持向前兼容性。
 
- 返回:
- 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]'