这是我当前的代码:
import numpy as np
vec0 = [1, 2, 3]
vec1 = [2, 3, 4]
vec2 = [3, 4, 5]
vec3 = [4, 5, 6]
for k in range(0, 4):
globals()['mean%s' % k] = np.mean('vec'+str(k))
我得到这个错误:
TypeError: cannot perform reduce with flexible type
我想知道这个结果。你知道吗
mean0 = np.mean(vec0)
mean1 = np.mean(vec1)
mean2 = np.mean(vec2)
mean3 = np.mean(vec3)
您可以这样做:
然后:
尽管如此,您应该避免这种方法,而是维护一个
2D Array
,这对于使用行轴的计算方法来说会更容易。你知道吗我的意思是,不是这样:
你可以这样做:
然后你可以简单地计算如下:
你的
mean0, mean1, mean2, mean3
在各自的索引中。你知道吗用名称调用变量是一种反模式。如果需要对多个对象执行任务,可以构造这些对象的集合(元组、列表等)。例如:
此外,通过指定
axis
参数,您现在可以使用numpy轻松处理批量中的平均值:然后:
您可以通过更改:
至
但我强烈建议使用向量:
相关问题 更多 >
编程相关推荐