我有一个包含来自matlab
的代码的作业,我想知道Python中该函数的语法。它用于了解二进制数的平均值:
mean(POP)
答案 0 :(得分:1)
如果你需要将matlab代码移植到python,请考虑使用它们之间的numpy,scipy和matplotlib包,它们涵盖了matlab的大部分功能。碰巧的是,numpy包含一个函数numpy.mean
,它计算numpy数组或列表的平均值。例如:
import numpy
print(numpy.mean([1, 2, 3, 4, 5]))
答案 1 :(得分:0)
我想到的几个版本如下:
mean1 = lambda x: 1.0*sum(x)/len(x)
def mean2(x):
return 1.0*sum(x)/len(x)
def mean3(*args):
return 1.0*sum(args)/len(args)
这里,mean1
和mean2
完全相同,但第一个函数被定义为lambda表达式。它们都将列表作为参数,使用sum
函数计算所有元素的总和,并使用len
函数来知道列表中有多少元素。为了安全起见,我乘以1.0,以便除法总是产生一个浮点数。这在Python 3中是不必要的,其中/
操作将始终产生浮点数而不是整数。
所以这两个版本可以按如下方式使用:
mean1([1,2,3,4])
mean2([1,2,3,4])
并生成结果2.5
。
在第三个版本中,您不需要指定列表,您可以使用该函数的许多参数:
mean3(1,2,3,4)
将再次返回2.5
。