You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python/Numpy快速便捷计算数组相邻元素的中间值?

用Numpy快速计算数组相邻元素的中间值

针对你的需求,有几种简洁高效的Numpy实现方法:

方法一:切片算术运算(最直观)

这是最直接的方式,利用Numpy的矢量化操作对数组切片后计算平均值:

import numpy as np

x = np.array([1, 2, 3, 4, 5])
x_interp = (x[1:] + x[:-1]) / 2
# 输出:array([1.5, 2.5, 3.5, 4.5])

原理:x[1:]取数组从第二个元素到末尾的部分,x[:-1]取数组从开头到倒数第二个元素的部分,两者对应元素相加后除以2,直接得到相邻元素的中间值。

方法二:使用np.convolve

通过卷积操作实现滑动平均,也能得到相同结果:

import numpy as np

x = np.array([1, 2, 3, 4, 5])
x_interp = np.convolve(x, [0.5, 0.5], mode='valid')
# 输出:array([1.5, 2.5, 3.5, 4.5])

mode='valid'确保只保留两个元素重叠计算的结果,刚好对应相邻元素的中间值。

方法对比

  • 切片算术运算的代码可读性最高,执行效率也最优(纯矢量化操作,无额外函数调用开销),适合绝大多数场景。
  • 卷积方法更适合需要扩展到更复杂滑动窗口计算的场景,但针对这个需求稍显冗余。

内容的提问来源于stack exchange,提问作者DLWHI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 06:41:29