我是编程和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。然后采取这些矩阵的手段。最后这些手段的总和。
我的问题:是否有一种简单的方法?
答案 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