我对numpy的numpy.apply_along_axis()函数何时会优于简单的Python循环感到困惑。例如,考虑一个有很多行的矩阵,您希望计算每一行的总和:x=np.ones([100000,3])sums1=np.array([np.sum(x[i,:])foriinrange(x.shape[0])])sums2=np.apply_along_axis(np.sum,1,x)在这里,我什至使用了一个内置的numpy函数,np.sum,但是计算sums1(Python循环)在计算时花费了不到400毫秒sums2(apply_along_axis)需要超过2000毫秒(Wind
我遇到了numpy.apply_along_axis在一些代码中起作用。而且我不明白有关它的文档。这是文档的示例:>>>defnew_func(a):..."""Divideelementsofaby2."""...returna*0.5>>>b=np.array([[1,2,3],[4,5,6],[7,8,9]])>>>np.apply_along_axis(new_func,0,b)array([[0.5,1.,1.5],[2.,2.5,3.],[3.5,4.,4.5]])就我对文档的理解而言,我会期望:array([[0.5,1.,1.5],[4,5,6],[7,8,9]])即沿