枚举数据列表以查找平均值,但线条不仅仅是数字



我是Python的新手。我列举了一大串数据,如下所示,并想找到每一行的平均值。

for index, line in enumerate (data):
#calculate the mean

然而,这组特定数据的行是这样的:

[array([[2.3325655e-10, 2.4973504e-10],
[1.3025138e-10, 1.3025231e-10]], dtype=float32)].

我想分别找到两个2x1s的平均值,然后是两个平均值的平均值。所以它输出一个数字。提前谢谢。

您可能不需要枚举整个列表来实现您想要的内容。你可以使用列表理解分两步来完成。

例如,

data = [[2.3325655e-10, 2.4973504e-10],
[1.3025138e-10, 1.3025231e-10]]
# Calculate the average for 2X1s or each row
avgs_along_x = [sum(line)/len(line) for line in data]
# Calculate the average along y
avg_along_y = sum(avgs_along_x)/len(avgs_along_x)

python中还有其他方法可以计算列表的平均值。你可以在这里读到它们。

如果您正在使用numpy,这可以在一行中完成。

import numpy as np
np.average(data, 1) # calculate the mean along x-axes denoted as 1
# To get what you want, we can pass tuples of axes.
np.average(data, (1,0))

相关内容

  • 没有找到相关文章

最新更新