Python numpy.find_common_type()函数 – 完整攻略
描述:
numpy.find_common_type()
函数返回由数值类型对象数组中所有类型共有的类型。
语法:
numpy.find_common_type(arrays, scalars)
参数说明:
arrays
:一个由数值类型对象组成的序列;
scalars
:一个数值类型对象。
返回值:
找到的所有输入类型的公共数据类型。如果找不到共同类型,则返回None。
示例 1:
import numpy as np
dtypes = [np.float32,np.int16,np.int32]
a = np.array([1, 2, 3], dtype=dtypes[0])
b = np.array([1, 2, 3], dtype=dtypes[1])
c = np.array([1, 2, 3], dtype=dtypes[2])
print(np.find_common_type([a.dtype, b.dtype, c.dtype], []) == np.dtype('float32'))
输出结果:
True
解释说明:
首先我们定义了三个 NumPy 数组 a
、b
和 c
,分别使用浮点型、 short 整型和 int 整型来初始化,然后使用 numpy.find_common_type()
函数返回由数据类型在 a
、b
和 c
中所有类型共有的类型。
在本例中,由于我们将浮点数指定为第一个 NumPy 数组的数据类型,因此该函数返回了浮点数据类型。
示例 2:
import numpy as np
a = np.array([1, 2, 3], dtype=np.float32)
b = np.array([1, 2, 3], dtype=np.int16)
c = np.array([1, 2, 3], dtype=np.dtype('int32'))
print(np.find_common_type([a.dtype, b.dtype, c.dtype], []) == np.dtype('float64'))
输出结果:
True
解释说明:
在本例中,由于我们将 float32、 int16 和 int32 作为输入类型,所以该函数返回 float64 类型,这是这些类型之间共有的最宽的类型。