我有一个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. ])