numpy.can_cast#

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

Returns True if cast between data types can occur according to the casting rule.

Parameters:
from_dtype, dtype specifier, NumPy scalar, or array

Data type, NumPy scalar, or array to cast from.

todtype or dtype specifier

Data type to cast to.

casting{『no』, 『equiv』, 『safe』, 『same_kind』, 『unsafe』}, optional

Controls what kind of data casting may occur.

  • 『no』 means the data types should not be cast at all.

  • 『equiv』 means only byte-order changes are allowed.

  • 『safe』 means only casts which can preserve values are allowed.

  • 『same_kind』 means only safe casts or casts within a kind, like float64 to float32, are allowed.

  • 『unsafe』 means any data conversions may be done.

Returns:
outbool

True if cast can occur according to the casting rule.

也參考

dtype, result_type

Notes

在 2.0 版的變更: This function does not support Python scalars anymore and does not apply any value-based logic for 0-D arrays and NumPy scalars.

Examples

Basic examples

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