numpy.find_common_type #
- 麻木的。find_common_type ( array_types , scalar_types ) [来源] #
根据标准强制规则确定常见类型。
自 NumPy 版本: 1.25起已弃用
此函数已弃用,请使用
numpy.promote_types
或numpy.result_type
代替。要实现scalar_types参数的语义 ,请使用numpy.result_type
并传递 Python 值0、0.0或0j。这在几乎所有情况下都会给出相同的结果。更多信息和罕见异常可以在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')