python 中的均值、方差和标准差
Mean, variance and standard deviation in 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 函数总是 return 一个 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))
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 函数总是 return 一个 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))