2017-01-23 5 views
0

私はnumpyで作業しています。入力を「学生の等級」をループの使用なしでマップの成績の平均として返す関数を作成するように求められました。これを可能にするために私の心に来ただけの事は例再帰が役に立たない

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]]) 
ために再帰

入力で
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) 

です私が探しています

出力がある

array([82.8, 70.2, 84.8, 48.4, 56.5, 90. ])

が、私は得ること

TypeError: 'float' object is not callable

+0

単に 'hw_grades.mean(axis = 1)'ですか? – Divakar

+1

'return calc(start + 1)'はしません。 @MooingRawr – Enigma

+1

numpyで作業している場合はnumpyを使用してください。 – Lagerbaer

答えて

3

いかがresult = np.average(hwgrades, axis=1)documentation hereが見つかります。

関連する問題