我有一个numpy数组,它代表x轴,ex。
x = [1, 2, 3, 4, 5]
我想得到两个相邻元素中间的值,所以我的示例数组应该变成
x_interp = [1.5, 2.5, 3.5, 4.5]
有没有一种快速方便的方法可以使用python/numpy来实现这一点
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:
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)
1条答案
按热度按时间k10s72fa1#
如果你有一个numpy数组,只需要用shift切片:
输出:
array([1.5, 2.5, 3.5, 4.5])
另一种方法(也是更通用的方法来获得每个
N
项的平均值)是使用sliding_window_view
: