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)[原始碼]#

回傳陣列的字串表示形式。

參數:
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 和 suffix 字串的長度分別用於對齊和包裝輸出。陣列通常會列印為

prefix + array2string(a) + suffix

輸出會向左填充 prefix 字串的長度,並強制在 max_line_width - len(suffix) 欄位處換行。應注意,prefix 和 suffix 字串的內容不會包含在輸出中。

style_NoValue,選用

沒有作用,請勿使用。

自 1.14.0 版本起已棄用。

formattercallable 的 dict,選用

如果不是 None,則鍵應指示各自的格式化函數適用於的類型。Callable 應回傳字串。未指定類型(由其對應的鍵)的類型由預設格式化程式處理。可以設定格式化程式的個別類型為

可用於一次設定一組類型的其他鍵為

  • ‘all’:設定所有類型

  • ‘int_kind’:設定 ‘int’

  • ‘float_kind’:設定 ‘float’ 和 ‘longfloat’

  • ‘complex_kind’:設定 ‘complexfloat’ 和 ‘longcomplexfloat’

  • ‘str_kind’:設定 ‘numpystr’

thresholdint,選用

觸發摘要而非完整 repr 的陣列元素總數。預設值為 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 舊版列印模式。這會透過在浮點數的正負號位置包含空格以及 0 維陣列的不同行為來近似 numpy 1.13 列印輸出。如果設定為 False,則停用舊版模式。無法辨識的字串將會被忽略,並發出警告以實現向前相容性。

回傳值:
array_strstr

陣列的字串表示形式。

引發:
TypeError

如果 formatter 中的 callable 未回傳字串。

註解

如果為特定類型指定了格式化程式,則該類型的 precision 關鍵字會被忽略。

這是一個非常彈性的函數;array_reprarray_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]'