如何在python中计算列表元素的平均值?

2024-05-23 16:42:18 发布

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

我想计算列表中每个值的平均值。为此,我编写了一个函数,它将list作为参数,计算平均值并再次返回平均值列表

这是信号:

random_data = [10 * random.uniform(0,1) for i in range(1000)]
random_peak = [100 * random.uniform(0,1) for i in range(50)] + [0] * 950
random.shuffle(peak)
for i in range(0, len(signal)):
    signal = [peak[x] + random_data[x] for x in range(len(random_data))]

现在,我想计算m,如下所示

'''
m1 = 1/(number of signal) * x1
m2 = 1/(number of signal) * (x1+x2)
m3 = 1/(number of signal) * (x1+x2+x3)
...
'''

我编写了以下函数来计算m。如何更改函数以返回MS列表

def mean_values(s):
    for i in range(len(s)):
        m[i] = 1/len(s)*s[i]
    return m[i]

mean_values(signal)
#mean_values(np.array(signal)

Tags: of函数innumber列表fordatasignal
1条回答
网友
1楼 · 发布于 2024-05-23 16:42:18

使用m作为float而不是list,这样更有意义 刻薄

s = 1 / n * Σxi

你可以用这个从上一个得到新的平均值

s' = s + (x1 - s) / n1

其中s为最新平均值,x1为新值,n1为新长度 然而,在numpy中,它们是一个预构建的函数np.mean(),它可以做到这一点并管理python列表

相关问题 更多 >