递归不适合我

时间:2017-01-23 16:54:40

标签: python numpy recursion

所以我正在与numpy合作,并且我被要求创建一个函数,该函数返回输入"等级的学生"作为地图中不使用循环的等级的平均值,我想到的唯一可能是递归

def hw_grade_average(_array):
   condition=len(_array)
   stop=condition
   start=0
   outp=[]
   def calc(inp):
      if stop-1==inp:
           return outp
       if stop!=inp:
           calc=float(sum(_array[start]))/float(len(_array[start]))
           outp.append(calc)
       return calc(inp+1)
    _returned = np.asarray(outp,dtype=float)
    return calc(start)

输入示例

hw_grade_average(hw_grades)

其中

    hw_grades=
           array([[ 57,  99, 100,  81,  77],
                  [ 70,  91,  57,  77,  56],
                  [ 74,  89,  62, 100,  99],
                  [ 61,  53,  42,  65,  21],
                  [ 81,  65,  40,  37,  60],
                  [ 75,  88, 100,  92,  95]])

我正在寻找的输出是

  

数组([82.8,70.2,84.8,48.4,56.5,90。])

但我明白了

  

TypeError:' float'对象不可调用

1 个答案:

答案 0 :(得分:3)

result = np.average(hwgrades, axis=1)怎么样?你会找到documentation here