python中的平均值、方差和标准差


n,m = map(int,input().split())
A = []
for _ in range(n):
A.append(map(int,input().split()))
A = numpy.array(A)
print (numpy.mean(A,axis = 1))
print (numpy.var(A,axis = 0))
print (round(numpy.std(A),11))

有人能告诉我我做错了什么吗?我收到错误:numpy.AxisError: axis 1 is out of bounds for array of dimension 1

此外,我希望用户输入n x m维度的数组。如何添加m尺寸检查?

请帮忙。

当您试图在数组中附加元素时,您使用map函数获取元素,map函数将始终返回一个map对象,而您只是将map对象作为元素附加到数组中。因此,当您试图访问axis=1时,实际上数组中不存在axis=1,因为数组包含一行带有贴图对象的行。

这是不使用列表理解的正确代码,

n,m = map(int,input().split())
A = []
for _ in range(n):
A.append(list(map(int,input().split())))
A = numpy.array(A)
print(A)
print (numpy.mean(A,axis = 1))
print (numpy.var(A,axis = 0))
print (round(numpy.std(A),11))

这是使用列表理解的代码,

n,m = map(int,input().split())
A = []
for _ in range(n):
A.append([int(x) for x in input().split()])
A = numpy.array(A)
print(A)
print (numpy.mean(A,axis = 1))
print (numpy.var(A,axis = 0))
print (round(numpy.std(A),11))

相关内容

  • 没有找到相关文章

最新更新