📜  使用 NumPy 创建一个数组,该数组是给定大小的每个连续子数组的平均值(1)

📅  最后修改于: 2023-12-03 15:06:49.227000             🧑  作者: Mango

使用 NumPy 创建一个数组,该数组是给定大小的每个连续子数组的平均值

在 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 数组中。该代码片段可以扩展到使用其他的滑动窗口大小和输入数组。