如何在Python中创建预填充指定值的float32类型数组
问题背景说明
你原来的代码得到float64类型数组,是因为Python原生浮点数值默认是双精度类型,numpy默认会继承这个类型做存储。要得到float32类型的预填充数组,有以下几种常用实现方式:
方法1:使用np.full(推荐)
np.full是numpy专门为固定值批量填充设计的API,代码可读性更高,性能也更优,直接指定dtype参数即可:
import numpy as np arr1 = np.full(shape=32, fill_value=0.75, dtype=np.float32)
方法2:修改np.tile的输入值类型
如果你需要沿用np.tile的写法,只需要把传入的填充值先转为float32类型,np.tile会自动继承输入元素的类型:
import numpy as np arr1 = np.tile(np.float32(0.75), 32)
方法3:创建后显式转换类型
如果已经生成了float64类型的数组,也可以通过astype方法强制转换为float32:
import numpy as np arr1 = np.tile(0.75, 32).astype(np.float32)
内容的提问来源于stack exchange,提问作者Zibri
相关产品推荐
相关产品推荐

