NumPy参考 >例行程序 >Data type routines >numpy.obj2sctype > numpy.find_common_type
numpy.
find_common_type
(array_types,scalar_types )[源代码] ¶按照标准强制规则确定常见类型。
代表数组的dtype或dtype可转换对象的列表。
代表标量的dtype或dtype可转换对象的列表。
所述公共数据类型,这是最大的array_types忽略
scalar_types,除非最大的scalar_types是一种不同的(dtype.kind
)。如果不了解种类,则返回None。
也可以看看
例子
>>> np.find_common_type([], [np.int64, np.float32, complex])
dtype('complex128')
>>> np.find_common_type([np.int64, np.float32], [])
dtype('float64')
标准转换规则确保标量不能向上转换数组,除非标量与数组相比根本是另一类数据(即,数据类型层次结构中的层次结构不同):
>>> np.find_common_type([np.float32], [np.int64, np.float64])
dtype('float32')
Complex是另一种类型,因此它在array_types参数中转换了浮点数 :
>>> np.find_common_type([np.float32], [complex])
dtype('complex128')
类型说明符字符串可转换为dtype,因此可以代替dtype使用:
>>> np.find_common_type(['f4', 'f4', 'i4'], ['c8'])
dtype('complex128')