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