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 應回傳字串。未指定類型(由其對應的鍵)的類型由預設格式化程式處理。可以設定格式化程式的個別類型為
‘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,選用
觸發摘要而非完整 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_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]'