2017-08-29 15 views
0

私はnumpyを使ってcsvファイルからデータを取りました。数が少ない配列は、100 * 20の寸法を持ちます。どのように私は列(3,5,8 COL言う)の平均を取るとnumpy配列の列の平均を取る

col3 = 1,2,3,4 
    col5 = 2,3,4,8 
    col8 = 3,4,5,6 

が、私はこれらの3つの列を削除したい場合は、これらの3つのcolsの

の平均を含む新しい列に置き換えてください。また、各エントリにこれらの3つのカラムの平均値が含まれている新しいカラムを挿入してください

新しいカラムを挿入したい:2,3,4,6、前の3つのカラムと次元を100 * 28

これを行うnumpy関数はありますか?

+0

不明なこと - 1)私たちはどのようにして '28' colsになりましたか? 2)「前の3列を削除する」の「前の」の参照は何ですか? 3)新しい列をどこに挿入しますか? – Divakar

+0

私は早く30 colsを持っていました、私はcol3,5,8の平均を取ってそれらを格納し、これらの3を削除するので、colsは今27です。 total cols = 28 – mcjoshi

+0

あなたは[mcve] –

答えて

1
a = np.arange(100*30).reshape(100,30) # change this to your own data 
cols = [2, 4, 7] # columns to calculate averages, i.e. 3, 5, 8 
b = a[:, cols] # data of the cols 
c = b.mean(axis=1) # average 
a_no_b = np.delete(a, cols) # data without the cols 
a_final = np.c_[a_no_b, c] # final result 
関連する問題