Python numpy.common_type()函数

  • Post category:Python

Python numpy.common_type()函数详解

函数介绍

numpy.common_type()函数返回一个数组元组的公共数据类型。

语法

numpy.common_type(*arrays)

参数

*arrays:多个数组,可以有不同的数据类型。

返回值

返回输入数组的公共数据类型,例如,如果一个数组是浮点类型,而另一个数组是整数类型,则返回浮点类型。

示例1

import numpy as np

# 创建数组
a = np.array([1, 2, 3, 4])
b = np.array([1.2, 2.3, 3.4, 4.5])
c = np.array(['1.2', '2.3', '3.4', '4.5'])

# 获取数组数据类型
dt1 = a.dtype
dt2 = b.dtype
dt3 = c.dtype

# 获取数组中的公共数据类型
common_dt = np.common_type(dt1, dt2, dt3)

print(common_dt)

输出结果:

|S3

示例2

import numpy as np

# 创建数组
a = np.array([1, 2, 3, 4], dtype=np.int32)
b = np.array([1.2, 2.3, 3.4, 4.5], dtype=np.float64)

# 获取数组数据类型
dt1 = a.dtype
dt2 = b.dtype

# 获取数组中的公共数据类型
common_dt = np.common_type(dt1, dt2)

# 根据公共数据类型分别转换数组类型
a = a.astype(common_dt)
b = b.astype(common_dt)

print(a.dtype)
print(b.dtype)

输出结果:

float64
float64

注意事项

在使用numpy.common_type()函数时,需要保证输入的所有数组有公共数据类型。如果没有公共数据类型,则该函数会导致程序运行时错误。可以使用numpy.result_type()函数来获取一组数组的公共数据类型和返回数组的类型(可用于n维数组)。