numpy.promote_types#

numpy.promote_types(type1, type2)#

返回可以安全地將 type1type2 轉換成的最小尺寸和最小純量種類的資料類型。返回的資料類型始終被視為「標準」,這主要表示提升的 dtype 將始終採用原生位元組順序。

此函數是對稱的,但很少是結合律的。

參數:
type1dtype 或 dtype 指定符

第一個資料類型。

type2dtype 或 dtype 指定符

第二個資料類型。

返回:
outdtype

提升的資料類型。

註解

有關提升的其他資訊,請參閱 numpy.result_type

從 NumPy 1.9 開始,當給定一個整數或浮點 dtype 作為一個參數,以及一個字串 dtype 作為另一個參數時,promote_types 函數現在返回有效的字串長度。 以前,它總是返回輸入字串 dtype,即使它不夠長以儲存轉換為字串的最大整數/浮點值。

在 1.23.0 版本中變更。

NumPy 現在支援更多結構化 dtype 的提升。 它現在將從結構 dtype 中移除不必要的填充,並單獨提升包含的欄位。

範例

>>> import numpy as np
>>> np.promote_types('f4', 'f8')
dtype('float64')
>>> np.promote_types('i8', 'f4')
dtype('float64')
>>> np.promote_types('>i8', '<c8')
dtype('complex128')
>>> np.promote_types('i4', 'S8')
dtype('S11')

非結合律案例的範例

>>> p = np.promote_types
>>> p('S', p('i1', 'u1'))
dtype('S6')
>>> p(p('S', 'i1'), 'u1')
dtype('S4')