numpy.promote_types#
- numpy.promote_types(type1, type2)#
返回尺寸最小且标量种类最小的数据类型,``type1`` 和
type2
都可以安全地转换为该类型.返回的数据类型总是被认为是”规范的”,这主要意味着提升后的 dtype 将始终是本地字节顺序.这个函数是对称的,但很少是结合的.
- 参数:
- type1dtype 或 dtype 说明符
第一个数据类型.
- type2dtype 或 dtype 说明符
第二种数据类型.
- 返回:
- outdtype
被推广的数据类型.
参见
备注
请参阅
numpy.result_type
以获取有关类型提升的更多信息.在 1.6.0 版本加入.
从 NumPy 1.9 开始,当给定一个整数或浮点数 dtype 作为一个参数,给定一个字符串 dtype 作为另一个参数时,promote_types 函数现在返回一个有效的字符串长度.以前,它总是返回输入的字符串 dtype,即使它不够长,无法存储转换为字符串的最大整数/浮点数值.
在 1.23.0 版本发生变更.
NumPy 现在支持更多结构化数据类型的提升.它现在会从结构化数据类型中移除不必要的填充,并单独提升包含的字段.
示例
>>> import numpy as np >>> 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')
一个非关联情况的例子:
>>> p = np.promote_types >>> p('S', p('i1', 'u1')) dtype('S6') >>> p(p('S', 'i1'), 'u1') dtype('S4')