📜  numpy.common_type()函数Python(1)

📅  最后修改于: 2023-12-03 15:33:14.757000             🧑  作者: Mango

numpy.common_type()函数介绍

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
    
  • 如果输入数组中数据类型的层次结构不同,那么结果会根据强制转换规则选择更深或更高的层次结构。