gpt4 book ai didi

python - python中列表列表的移动平均值

转载 作者:太空宇宙 更新时间:2023-11-03 18:49:42 26 4
gpt4 key购买 nike

我有一个很大的数组,但其结构类似于:

[[ 0  1  2  3  4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]]

在不展平数组的情况下,对 5 个元素进行滚动平均的最佳、最有效的方法是什么?即

值一为 (0+1+2+3+4)/5=2

第二个值是 (1+2+3+4+5)/5=3

第三个值是 (2+3+4+5+6)/5=4

谢谢

最佳答案

可能“最好”的方法是将数组的 View 提交给uniform_filter。我不确定这是否会击败您的“无法展平数组”,但是如果不以某种方式 reshape 数组,所有这些方法都会比以下方法慢得多:

import numpy as np
import scipy.ndimage.filters as filt

arr=np.array([[0,1,2,3,4],
[5,6,7,8,9],
[10,11,12,13,14],
[15,16,17,18,19]])

avg = filt.uniform_filter(arr.ravel(), size=5)[2:-2]

print avg
[ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17]

print arr.shape #Original array is not changed.
(4, 5)

关于python - python中列表列表的移动平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com