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

如何使用for循环计算numpy数组连续5行的均值和标准差

解决方案

核心调整思路是将单行切片修改为5行区间切片,同时调整循环终止条件避免切片越界,完整实现代码如下:

import numpy as np

data = np.array([[49, 32, 32,  8, 49],
                 [ 1, 29, 28, 45, 20],
                 [11, 40,  5,  6, 21],
                 [13, 45,  3, 12, 12],
                 [11,  6, 39, 39, 27],
                 [10, 34,  1, 15, 42],
                 [31, 27,  3,  4, 12],
                 [41, 14, 27, 45, 44],
                 [48, 37, 14, 16, 13],
                 [41,  9, 14, 49, 16]])

window_size = 5
# 循环次数为总行数-窗口大小+1,保证切片不会越界
for i in range(data.shape[0] - window_size + 1):
    # 取出连续5行的子数组
    current_window = data[i:i+window_size]
    # 计算整体均值和标准差
    mean_val = np.mean(current_window)
    std_val = np.std(current_window)
    print(f"窗口{i+1}(对应行{i}至行{i+4}):均值={mean_val:.2f},标准差={std_val:.2f}")

补充说明:

  • 如果需要按列分别统计每组5行的均值和标准差,在np.mean、np.std中添加参数axis=0即可,返回结果为长度5的数组,对应每一列的统计值
  • 如果需要取不重叠的5行分组(即行0-4为第一组,行5-9为第二组),将循环语句修改为for i in range(0, data.shape[0], window_size)即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:36:04