numpy.array2string

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.array2string.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.array2string(a, max_line_width=None, precision=None, suppress_small=None, separator=' ', prefix='', style=<built-in function repr>, formatter=None)[source]

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

参数:

a:ndarray

输入数组。

max_line_width:int,可选

字符串应该跨越的最大列数。换行符在数组元素后适当地拆分字符串。

precision:int,可选

浮点精度。默认值是当前打印精度(通常为8),可以使用set_printoptions更改。

suppress_small:bool,可选

将非常小的数字表示为零。如果它小于当前打印精度,则数字是“非常小”。

separator:str,可选

插入元素之间。

前缀:str,可选

数组通常打印为:

'prefix(' + array2string(a) + ')'

前缀字符串的长度用于正确对齐输出。

style:function,可选

接受ndarray并返回字符串的函数。仅在a的形状等于()时使用,即对于0-D数组。

格式化程序:可调用的dict,可选

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

- 'bool'
- 'int'
- 'timedelta' : a `numpy.timedelta64`
- 'datetime' : a `numpy.datetime64`
- 'float'
- 'longfloat' : 128-bit floats
- 'complexfloat'
- 'longcomplexfloat' : composed of two 128-bit floats
- 'numpy_str' : types `numpy.string_` and `numpy.unicode_`
- 'str' : all other strings

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

- 'all' : sets all types
- 'int_kind' : sets 'int'
- 'float_kind' : sets 'float' and 'longfloat'
- 'complex_kind' : sets 'complexfloat' and 'longcomplexfloat'
- 'str_kind' : sets 'str' and 'numpystr'
返回:

array_str:str

数组的字符串表示形式。

上升:

TypeError

如果formatter中的可调用方未返回字符串。

笔记

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

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

例子

>>> x = np.array([1e-16,1,2,3])
>>> print(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)})
'[0x0L 0x1L 0x2L]'