numpy.find_common_type #

麻木的。find_common_type ( array_types , scalar_types ) [来源] #

根据标准强制规则确定常见类型。

自 NumPy 版本: 1.25起已弃用

此函数已弃用,请使用numpy.promote_typesnumpy.result_type代替。要实现scalar_types参数的语义 ,请使用numpy.result_type并传递 Python 值00.00j。这在几乎所有情况下都会给出相同的结果。更多信息和罕见异常可以在NumPy 1.25 发行说明中找到 。

参数
array_types序列

表示数组的 dtype 或 dtype 可转换对象的列表。

标量类型序列

表示标量的 dtype 或 dtype 可转换对象的列表。

返回
数据类型 数据类型

通用数据类型,是忽略 scalar_types的array_types的最大值,除非scalar_types的最大值属于不同类型 ( )。如果不理解该类型,则返回 None。dtype.kind

例子

>>> 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')

类型说明符字符串可转换为 dtypes,因此可以用来代替 dtypes:

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