📅  最后修改于: 2023-12-03 15:33:14.757000             🧑  作者: Mango
numpy.common_type()
函数用于找到一组输入数组中的公共数据类型。它返回一个 dtype
对象,该对象表示这些输入数组中最深和最高的数据类型。
该函数的语法如下:
numpy.common_type(*arrays)
其中,*arrays
表示一组数组。这些数组的数据类型会被比较,找到公共的数据类型。
*arrays
:一组数组,可以是 numpy.ndarray
或者 Python 的原生数组类型。该函数返回一个 dtype
对象,表示输入数组中最深和最高的数据类型。
下面给出一些 numpy.common_type()
函数的使用示例。
import numpy as np
# 一维数组示例
a1 = np.array([1, 2, 3, 4]).astype(np.int32)
a2 = np.array([5, 6, 7, 8]).astype(np.float32)
a3 = np.array(['a', 'b', 'c', 'd'])
print(np.common_type(a1, a2)) # float32
print(np.common_type(a1, a3)) # <U11
print(np.common_type(a2, a3)) # <U11
# 二维数组示例
b1 = np.array([[1, 2], [3, 4]]).astype(np.int32)
b2 = np.array([[5, 6], [7, 8]]).astype(np.float32)
b3 = np.array([['a', 'b'], ['c', 'd']])
print(np.common_type(b1, b2)) # float32
print(np.common_type(b1, b3)) # <U11
print(np.common_type(b2, b3)) # <U11
上面的示例分别构造了一组一维数组以及一组二维数组,并使用 numpy.common_type()
函数求出了它们的公共数据类型。
当没有输入数组时,该函数会报错。
import numpy as np
print(np.common_type()) # 报错:ValueError: No input arrays
如果输入数组中数据类型的层次结构不同,那么结果会根据强制转换规则选择更深或更高的层次结构。