3 回答
TA贡献1779条经验 获得超6个赞
如果L是标量列表,则可以使用直接表达式来计算平均值:
sum(L) / len(L)
幸运的是,这在数组列表上没有改变:
L = [np.array([2, 3, 4]), np.array([4, 4, 4]), np.array([6, 5, 4])]
sum(L) / len(L)
# array([4., 4., 4.])
对于这个例子,这恰好比 numpy 函数快得多 np.mean
timeit(lambda: np.mean(L, axis=0))
# 13.708808058872819
timeit(lambda: sum(L) / len(L))
# 3.4780975924804807
TA贡献1805条经验 获得超9个赞
给定一个 1d array a,np.mean(a)应该可以解决问题。
如果您有一个 2d 数组并希望分别计算每个数组的均值,请指定np.mean(a, axis=1).
有等价的函数np.sum,等等。
https://docs.scipy.org/doc/numpy/reference/generated/numpy.mean.html
https://docs.scipy.org/doc/numpy/reference/generated/numpy.sum.html
TA贡献1793条经验 获得超6个赞
您可以使用 map
import numpy as np
my_list = [np.array([2, 3, 4]),np.array([4, 4, 4]),np.array([6, 5, 4])]
np.mean(my_list,axis=0) #[4,4,4]
注意:不要命名您的变量,list因为它会影响内置函数
添加回答
举报
