Numpy在中间计算值

8i9zcol2  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(77)

我有一个numpy数组,它代表x轴,ex。

x = [1, 2, 3, 4, 5]

我想得到两个相邻元素中间的值,所以我的示例数组应该变成

x_interp = [1.5, 2.5, 3.5, 4.5]

有没有一种快速方便的方法可以使用python/numpy来实现这一点

k10s72fa

k10s72fa1#

如果你有一个numpy数组,只需要用shift切片:

x = np.array([1, 2, 3, 4, 5])

x_interp = (x[1:]+x[:-1])/2

输出:array([1.5, 2.5, 3.5, 4.5])
另一种方法(也是更通用的方法来获得每个N项的平均值)是使用sliding_window_view

from numpy.lib.stride_tricks import sliding_window_view as swv

N = 2
x_interp = swv(x, N).mean(axis=1)

相关问题