Python Numpy: 在不使用for循环的情况下对每个连续元素进行操作?

2024-04-19 14:28:26 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个非常简单的问题,但广泛的搜索并没有给我一个满意的答案。你知道吗

我有一个“随时间变化”的数字数组,例如x = [1, 2, 3, 4, 5],我想计算每个时间点的平均值。有了for循环,我就可以

import numpy as np

x = [1, 2, 3, 4, 5]
y = np.empty(5)

for i in range(5):

    y[i] = np.mean(x[0:i+1])

print(y)

[ 1.   1.5  2.   2.5  3. ]

在我正在处理的过程中,数字不一定遵循上述简单的动态。我想知道是否有一些通用的方法以“运行”的方式应用一个操作(比如计算平均值),这比for循环快?你知道吗


Tags: 答案inimportnumpyforasnp时间
1条回答
网友
1楼 · 发布于 2024-04-19 14:28:26

怎么样

a = np.array([1, 2, 3, 4, 5])
np.cumsum(a)/(np.arange(1, a.size + 1))

什么?你知道吗

这将用于计算运行平均值。你知道吗

I wonder if there is some general way of applying a operation (such as calculating the mean) in a 'running' fashion

我不能回答这个问题。这取决于操作。你知道吗

相关问题 更多 >