Python中如何用numpy实现将数组填充至指定长度
Numpy数组尾部填充到指定长度的实现方案
可以直接用Numpy原生的np.pad函数实现该需求,这是性能最高、写法最简洁的方案:
import numpy as np length = 10 append_val = 0 a = np.array([12,34,1,3,12,34]) # 计算尾部需要填充的长度,加max避免原数组长度超过目标长度时报错 pad_len = max(0, length - a.size) # 仅在数组尾部填充固定值 a_padded = np.pad(a, pad_width=(0, pad_len), mode='constant', constant_values=append_val) print(a_padded)
运行后输出结果为:[12 34 1 3 12 34 0 0 0 0],完全符合需求。
参数说明
pad_width接收二元组,分别对应数组头部、尾部的填充长度,这里设置头部填充长度为0,就只会在数组末尾追加内容mode='constant'指定填充模式为固定值,配合constant_values参数即可设置你需要追加的数值
额外说明
如果原数组本身长度已经大于等于目标length,上述代码会直接返回原数组不会做截断。如果你需要该场景下自动截断到目标长度,可以在填充后加一步切片:
a_padded = a_padded[:length]
内容的提问来源于stack exchange,提问作者georgehere
相关产品推荐
相关产品推荐

