如果根据转换规则可以发生数据类型之间的转换,则返回 True,控制 Python 中可能发生的哪种数据转换。


numpy.can_cast() 方法根据转换规则返回 True,如果可以发生数据类型之间的转换。第一个参数是要转换的数据类型或数组。第二个参数是要转换到的数据类型。第三个参数控制可能发生的哪种数据转换,其值包括 'no'、'equiv'、'safe'、'same_kind' 和 'unsafe'。

  • “no”表示数据类型根本不应该转换。

  • “equiv”表示仅允许字节顺序更改。

  • “safe”表示仅允许保留值的转换。

  • “same_kind”表示仅允许安全的转换或同类转换,例如 float64 到 float32。

  • “unsafe”表示可以进行任何数据转换。

步骤

首先,导入所需的库 -

import numpy as np

numpy.can_cast() 方法根据转换规则返回 True,如果可以发生数据类型之间的转换 -

print("Checking with can_cast() method in Numpy\n")

类型“no” -

print("Result...",np.can_cast('i8', 'i8', 'no'))
print("Result...",np.can_cast('<i8', '>i8', 'no'))

类型“equiv” -

print("Result...",np.can_cast('<i8', '>i8', 'equiv'))
print("Result...",np.can_cast('<i4', '>i8', 'equiv'))

类型“safe” -

print("Result...",np.can_cast('i4', 'i8', 'safe'))
print("Result...",np.can_cast('i8', 'i4', 'safe'))

类型“same_kind” -

print("Result...",np.can_cast('i8', 'i4', 'same_kind'))
print("Result...",np.can_cast('i8', 'i4', 'same_kind'))

示例

import numpy as np

# The numpy.can_cast() method returns True if cast between data types can occur according to the casting rule.

print("Checking with can_cast() method in Numpy\n")

# The type "no"
print("Result...",np.can_cast('i8', 'i8', 'no'))
print("Result...",np.can_cast('<i8', '>i8', 'no'))

# The type "equiv"
print("Result...",np.can_cast('<i8', '>i8', 'equiv'))
print("Result...",np.can_cast('<i4', '>i8', 'equiv'))

# The type "safe"
print("Result...",np.can_cast('i4', 'i8', 'safe'))
print("Result...",np.can_cast('i8', 'i4', 'safe'))

# The type "same_kind"
print("Result...",np.can_cast('i8', 'i4', 'same_kind'))
print("Result...",np.can_cast('i8', 'i4', 'same_kind'))

输出

Checking with can_cast() method in Numpy

Result... True
Result... False
Result... True
Result... False
Result... True
Result... False
Result... True
Result... True

更新于: 2022年2月25日

109 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.