numpy.promote_types   numpy.promote_types(type1, type2)
 
Returns the data type with the smallest size and smallest scalar kind to which both type1 and type2 may be safely cast. The returned data type is always considered “canonical”, this mainly means that the promoted dtype will always be in native byte order. This function is symmetric, but rarely associative.  Parameters 
 
type1dtype or dtype specifier


First data type.  
type2dtype or dtype specifier


Second data type.    Returns 
 
outdtype


The promoted data type.      See also  
result_type, dtype, can_cast

  Notes Please see numpy.result_type for additional information about promotion.  New in version 1.6.0.  Starting in NumPy 1.9, promote_types function now returns a valid string length when given an integer or float dtype as one argument and a string dtype as another argument. Previously it always returned the input string dtype, even if it wasn’t long enough to store the max integer/float value converted to a string.  Changed in version 1.23.0.  NumPy now supports promotion for more structured dtypes. It will now remove unnecessary padding from a structure dtype and promote included fields individually. Examples >>> 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')
 An example of a non-associative case: >>> p = np.promote_types
>>> p('S', p('i1', 'u1'))
dtype('S6')
>>> p(p('S', 'i1'), 'u1')
dtype('S4')
 


    
{'path': 'public/docs/numpy~1.23/reference/generated/numpy.promote_types.html', 'source': 'DevDocs.IO'}