當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。