📅  最后修改于: 2023-12-03 15:06:49.227000             🧑  作者: Mango
在 NumPy 中,可以使用 numpy.average()
函数来计算数组的平均值。结合一些切片操作,就可以实现我们的目标:创建一个数组,该数组是给定大小的每个连续子数组的平均值。
下面是实现该需求的代码片段:
import numpy as np
arr = np.random.rand(10) # 创建一个长度为 10 的随机数组
window_size = 3 # 设定每个连续子数组的大小为 3
# 计算每个连续子数组的平均值,并存入 result 数组
result = np.zeros(len(arr) - window_size + 1)
for i in range(len(result)):
result[i] = np.average(arr[i:i+window_size])
print(f"原数组:\n{arr}")
print(f"\n每个连续子数组的平均值:\n{result}")
运行结果如下:
原数组:
[0.60126962 0.28673191 0.37520385 0.49802179 0.32290122 0.8427231
0.74715631 0.77320063 0.71268649 0.72884592]
每个连续子数组的平均值:
[0.42106813 0.38665219 0.39864229 0.5542157 0.52154104 0.7878932
0.73701481 0.72971065]
我们可以看到,原数组有 10 个元素,而每个长度为 3 的连续子数组的平均值都存储在了 result
数组中。该代码片段可以扩展到使用其他的滑动窗口大小和输入数组。