如果可以进行数据类型转换,则返回 True,以控制 Python 中可以进行哪种类型的数据转换

pythonnumpyserver side programmingprogramming

如果根据转换规则可以进行数据类型转换,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("使用 Numpy 中的 can_cast() 方法检查\n")

类型 "no" −

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

类型 "equiv" −

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

类型"safe" −

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

类型"same_kind" −

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

示例

import numpy as np

# 如果根据转换规则可以在数据类型之间进行转换,则 numpy.can_cast() 方法返回 True。

print("使用 Numpy 中的 can_cast() 方法进行检查\n")

# 类型 "no"
print("结果...",np.can_cast('i8', 'i8', 'no'))
print("结果...",np.can_cast('<i8', '>i8', 'no'))

# 类型 "equiv"
print("结果...",np.can_cast('<i8', '>i8', 'equiv'))
print("结果...",np.can_cast('<i4', '>i8', 'equiv'))

# 类型 "safe"
print("结果...",np.can_cast('i4', 'i8', 'safe'))
print("结果...",np.can_cast('i8', 'i4', 'safe'))

# 类型 "same_kind"
print("结果...",np.can_cast('i8', 'i4', 'same_kind'))
print("结果...",np.can_cast('i8', 'i4', 'same_kind'))

输出

Checking with can_cast() method in Numpy

结果...True
结果...False
结果...True
结果...False
结果...True
结果...False
结果...True
结果...True

相关文章