numpy.can_cast#

numpy.can_cast(from_, to, casting='safe')#

如果可以根据类型转换规则进行数据类型之间的类型转换,则返回 True.

参数:
from_*dtype,dtype 说明符,NumPy 标量或数组

要转换自的数据类型,NumPy 标量或数组.

todtype 或 dtype 说明符

要转换到的数据类型.

casting{‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’},可选

控制可能发生的数据类型转换类型.

  • ‘no’ 表示根本不应转换数据类型.

  • ‘equiv’ 表示仅允许字节顺序更改.

  • ‘safe’ 表示仅允许可以保留值的类型转换.

  • ‘same_kind’ 意味着只允许安全类型转换或类型内部的转换,例如 float64 到 float32.

  • ‘unsafe’ 意味着可以进行任何数据转换.

返回:
outbool

如果可以根据类型转换规则进行转换,则为 True.

参见

dtype , result_type

注释

在 2.0 版本发生变更: 此函数不再支持 Python 标量,并且不应用任何基于值的逻辑于 0-D 数组和 NumPy 标量.

示例

基本示例

>>> import numpy as np
>>> np.can_cast(np.int32, np.int64)
True
>>> np.can_cast(np.float64, complex)
True
>>> np.can_cast(complex, float)
False
>>> np.can_cast('i8', 'f8')
True
>>> np.can_cast('i8', 'f4')
False
>>> np.can_cast('i4', 'S4')
False