如何用Numpy计算Python数组连续两元素的均值(非循环方法)
基于Numpy的连续元素均值计算方案
直接用Numpy的切片操作+向量化运算就能实现,完全不需要循环,效率拉满:
核心思路是通过切片获取两组错位的元素,再做对应运算:
- 取原数组从第2个元素到末尾的切片
a[1:] - 取原数组从开头到倒数第2个元素的切片
a[:-1] - 将两个切片对应元素相加后除以2,得到连续元素的均值数组
示例代码:
import numpy as np a = np.array([1, 2, 3, 4, 5, 6]) a_mean = (a[1:] + a[:-1]) / 2 print(a_mean) # 输出:[1.5 2.5 3.5 4.5 5.5]
这个方法依托Numpy的向量化底层实现,比Python原生循环效率高很多,处理大规模数组时优势尤为明显。
内容的提问来源于stack exchange,提问作者BlackPhoenix
相关产品推荐
相关产品推荐

