2024-04-25 17:25:19 发布
网友
我有一个向量X,它由N = 10e6值组成。我想计算增加对的平均值。例如:
X
N = 10e6
for i in range(0,N-1): Ex[i] = X[0:i+1].mean()
这是一种非常低效的方法。Python有什么更智能的算法?注意Ex和X都是浮点值的numpy数组。你知道吗
Ex
以numpy为中心的解决方案可以如下所示:
numpy
X = np.random.rand(10**6) EX = np.cumsum(X) / np.arange(1, X.shape[0]+1)
不是numpy专家,但这样可以避免每次计算元素的总和。求和:
current_sum = 0.0 for i in range(0,N-1): current_sum += X[i] Ex[i] = current_sum/(i+1)
以
numpy
为中心的解决方案可以如下所示:不是
numpy
专家,但这样可以避免每次计算元素的总和。求和:相关问题 更多 >
编程相关推荐