用Python计算累积平均值

时间:2018-10-26 09:02:10

标签: python-3.x

我是编程和python的新手。我做了一个模拟mm1队列。我正确运行了。我接受了结果。我有5000个输出。但是现在我应该计算每100个周期(1到100、1到200 ...直到1到5000)的平均延迟的累积平均值。

#data 4 (delay time) set assign to list of numpy array
npdelaytime = np.array(data[4][0:5000])  
#reshape the list of delay time 100 customer in each sample
npdelayreshape100 = np.reshape(npdelaytime, (-1,100))     
#mean of this reshape matrix
meandelayreshape100 = np.mean(npdelayreshape100, axis=1)  
cumsummdr100 = np.cumsum(meandelayreshape100)
a = range(1,51)     
meancsmdr100 = cumsummdr100 / a

我可以这样解决。首先将5000个采样点重塑为100 * 50。然后采取这些矩阵的手段。最后这些手段的总和。

我的问题:是否有一种简单的方法?

2 个答案:

答案 0 :(得分:1)

range代替np.arange怎么办?

尝试:

meancsmdr100 = cumsummdr100 / np.arange(1,51)

答案 1 :(得分:0)

def cum_mean(arr):
    cum_sum = np.cumsum(arr, axis=0)    
    for i in range(cum_sum.shape[0]):       
        if i == 0:
            continue        
        print(cum_sum[i] / (i + 1))
        cum_sum[i] =  cum_sum[i] / (i + 1)
    return cum_sum