Python numpy.find_common_type()函数

  • Post category:Python

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 数组 abc,分别使用浮点型、 short 整型和 int 整型来初始化,然后使用 numpy.find_common_type() 函数返回由数据类型在 abc 中所有类型共有的类型。

在本例中,由于我们将浮点数指定为第一个 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 类型,这是这些类型之间共有的最宽的类型。