2017-01-23 27 views
3

私はこの配列平均計算、アレイ

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

を有する私は(私はすでにsort()を使用するので、基本的に、私は取り除くたい最小値ことなく、各行の平均値を返すことができるようにしますその後、最初の各行の要素と平均

def hw_grade_best(_array): 
    _array.sort() 
    _array[::][1:] 
    result = np.average(_array, axis=1) 
    return result 

コードの本当に多くないと私はそれが間違っ

を使用していますはるかに想定できる原因 _array[::][1:]が本当に何をやっていない操作を行います10

入力
hw_grade_best(hw_grades)

出力Iは

配列([89.25、73.75、90.5、55.25、61.5、93.75])あなたは、配列をスライスする必要が

+0

ジャンFranç[email protected]:

_array = _array[::][1:] result = np.average(_array, axis=1) 

又はそれに直接平均値を計算します – Enigma

答えて

2

削除したいです値を入力すると、平均関数を軸に適用できます。

hw_grades[:, 1:].mean(axis=1)

# array([ 89.25, 73.75, 90.5 , 55.25, 61.5 , 93.75])

0

あなたは:

_array[::][1:] 

あなたは何もしないしていることが変更配列をしませんので、ちょうどあなたが求めているものを(どこ)を返しません。

として返される配列を割り当てる必要があります。それは最初の行を除去

result = np.average(_array[::][1:], axis=1)