numpy.can_cast#

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

如果数据类型之间的转换可以根据转换规则发生,则返回 True。

参数:
from_数据类型 (dtype)、数据类型说明符、NumPy 标量或数组

要转换的源数据类型、NumPy 标量或数组。

to数据类型 (dtype) 或数据类型说明符

要转换的目标数据类型。

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

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

  • ‘no’ 表示数据类型不应进行任何转换。

  • ‘equiv’ 表示只允许字节顺序更改。

  • ‘safe’ 表示只允许保留值的转换。

  • ‘same_kind’ 表示只允许安全转换或同类转换,例如从 float64 到 float32。

  • ‘unsafe’ 表示可以进行任何数据转换。

返回:
out布尔值 (bool)

如果转换可以根据转换规则发生,则返回 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