# numpy.find_common_type

numpy.find_common_type(array_types, scalar_types)

  Determine common type following standard coercion rules.

  Parameters
    array_types sequence

      A list of dtypes or dtype convertible objects representing arrays.

    scalar_types sequence

      A list of dtypes or dtype convertible objects representing scalars.

  Returns
    datatype dtype

      The common data type, which is the maximum of array_types ignoring scalar_types, unless the maximum of scalar_types is of a different kind (`dtype.kind`). If the kind is not understood, then None is returned.

  See also

  `dtype`, `common_type`, `can_cast`, `mintypecode`

  Examples

      >>> np.find_common_type([], [np.int64, np.float32, complex])
      dtype('complex128')
      >>> np.find_common_type([np.int64, np.float32], [])
      dtype('float64')

  The standard casting rules ensure that a scalar cannot up-cast an array unless the scalar is of a fundamentally different kind of data (i.e. under a different hierarchy in the data type hierarchy) then the array:

      >>> np.find_common_type([np.float32], [np.int64, np.float64])
      dtype('float32')

  Complex is of a different type, so it up-casts the float in the array_types argument:

      >>> np.find_common_type([np.float32], [complex])
      dtype('complex128')

  Type specifier strings are convertible to dtypes and can therefore be used instead of dtypes:

      >>> np.find_common_type(['f4', 'f4', 'i4'], ['c8'])
      dtype('complex128')

previous

numpy.issubclass_

next

numpy.typename