如何在Python中找到列表的平均值?
[1, 2, 3, 4] ⟶ 2.5
如何在Python中找到列表的平均值?
[1, 2, 3, 4] ⟶ 2.5
当前回答
或者使用熊猫系列。意思是方法:
pd.Series(sequence).mean()
演示:
>>> import pandas as pd
>>> l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
>>> pd.Series(l).mean()
20.11111111111111
>>>
从文档中可以看出:
系列。意思是(axis= no, skipna= no, level= no, numic_only = no, kwargs
这里是这个的文档:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.mean.html
整个文档:
https://pandas.pydata.org/pandas-docs/stable/10min.html
其他回答
你可以为平均值,使用率做一个函数:
average(21,343,2983) # You can pass as many arguments as you want.
代码如下:
def average(*args):
total = 0
for num in args:
total+=num
return total/len(args)
*args允许任意数量的答案。
对于Python 3.4+,使用新的统计模块中的mean()来计算平均值:
from statistics import mean
xs = [15, 18, 2, 36, 12, 78, 5, 6, 9]
mean(xs)
print reduce(lambda x, y: x + y, l)/(len(l)*1.0)
或者像之前写的那样
sum(l)/(len(l)*1.0)
1.0是为了确保你得到一个浮点除法
假设
x = [
[-5.01,-5.43,1.08,0.86,-2.67,4.94,-2.51,-2.25,5.56,1.03],
[-8.12,-3.48,-5.52,-3.78,0.63,3.29,2.09,-2.13,2.86,-3.33],
[-3.68,-3.54,1.66,-4.11,7.39,2.08,-2.59,-6.94,-2.26,4.33]
]
你可以注意到x的维数是3*10如果你需要得到每一行的平均值,你可以输入这个
theMean = np.mean(x1,axis=1)
不要忘记将numpy导入为np
当Python有一个完美的cromulent sum()函数时,为什么要使用reduce()呢?
print sum(l) / float(len(l))
(float()在Python 2中强制Python执行浮点除法是必需的。)