我有以下 numpy 数组:a = np.array([1,4,2])我希望通过在a数组中的每个元素之间将其平均除以 5 来创建一个新数组,以获得:b = [1., 1.75, 2.5, 3.25, 4., 3.5, 3., 2.5, 2.]我怎样才能在 python 中有效地做到这一点?
3 回答

蝴蝶不菲
TA贡献1810条经验 获得超4个赞
您正在寻找一维数组的线性插值,可以使用NumPy.interp.
s = 4 # number of intervals between two numbers
l = (a.size - 1) * s + 1 # total length after interpolation
np.interp(np.arange(l), np.arange(l, step=s), a) # interpolate
# array([1. , 1.75, 2.5 , 3.25, 4. , 3.5 , 3. , 2.5 , 2. ])
添加回答
举报
0/150
提交
取消