如何在 numpy 数组中插入它们之间每两个值的平均值

How to insert mean of each two values between them in a numpy array

我有一个 numpy 数组,想在它们之间插入每两个值的平均值。这是我的数组:

import numpy as np
incomp_arr = np.array([1., 2., 3., 4., 6., 0.])

我想在每两个值之间添加平均值:

comp_arr = np.array([1., 1.5, 2., 2.5, 3., 3.5, 4., 5., 6., 3., 0.])

目前我只能使用 incomplete_arr 制作平均数组:

avg_arr = ((incomp_arr + np.roll(incomp_arr,1))/2.0)[1:]

非常感谢为此提供的任何帮助。

如果您更改计算方式 avg_arr,您可以:

avg_arr = ((incomp_arr + np.roll(incomp_arr, -1))/2.0)
# array([1.5, 2.5, 3.5, 5. , 3. , 0.5])

np.vstack([incomp_arr, avg_arr]).flatten('F')[:-1]
# array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 5. , 6. , 3. , 0. ])