如何在 numpy 向量中的每个元素之间应用 linspace?

Nas*_*mer 4 python numpy

我有以下 numpy 数组:

a = np.array([1,4,2])
Run Code Online (Sandbox Code Playgroud)

我希望通过将数组中的每个元素除以 5 来创建一个新数组,a得到:

b = [1., 1.75, 2.5, 3.25, 4., 3.5, 3., 2.5, 2.]
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Python中有效地做到这一点?

Psi*_*dom 6

您正在寻找一维数组的线性插值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.  ])
Run Code Online (Sandbox Code Playgroud)