numpy数据类型提升

numpy数据类型提升

当您将多个NumPy数组连接(concatenate)起来时,结果数组的数据类型(dtype)将依赖于输入数组的数据类型。如果输入数组具有不同的数据类型,NumPy会尝试选择一个可以兼容所有输入数组内容的数据类型,这个过程称为类型提升(type promotion)。
在您给出的情况中,存在两个数据类型:uint8和uint16。uint8类型表示无符号整数(0到255),uint16类型表示更大范围的无符号整数(0到65535)。为了能够包含更大范围的数而不丢失信息,NumPy将选择uint16作为结果数组的数据类型,因为uint16可以表示uint8能表示的所有数值,并且还能表示更大的数值。

所以,当你将两个uint8数组和一个uint16数组连接起来时,最终的数组将会是uint16类型的。
在这里插入图片描述

import numpy as np

# 创建三个NumPy数组,两个uint8类型,一个uint16类型
array1 = np.array([1, 2, 3], dtype=np.uint8)
array2 = np.array([4, 5, 6], dtype=np.uint8)
array3 = np.array([700, 800, 900], dtype=np.uint16)

# 使用np.concatenate函数连接这三个数组
concatenated_array = np.concatenate((array1, array2, array3))

# 打印结果数组的内容和数据类型
print("连接后的数组:", concatenated_array)
print("数组的数据类型:", concatenated_array.dtype)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值