numpyの配列の付与

1575 ワード

numpyでは、配列を確立するために使用される方法array()があります.numpy配列クラスはndarrayです.中でも,Numpy配列の付与は比較的便利であるが,注意すべき点もある.
一般的な割り当て:
1.次の割り当て方法はC++とJava言語と似ています.
import numpy as np
a = np.zeros((2,5))
a[1][2] = 1
a[0][4] = 10
print(a)

出力結果:
[[ 0.  0.  0.  0. 10.]
 [ 0.  0.  1.  0.  0.]]

2.次の付与方式で実現される機能は上と同じですが、方式はC++とJavaにはありません.
import numpy as np
a = np.zeros((2,5))
a[1,2] = 1
a[0,4] = 10
print(a)

注意すべき付与方法:
この賦値では,リスト(listタイプでよい)が入っていてもよいし,メタグループタイプであってもよい.
import numpy as np
a = np.zeros((4,10))
a[[0,1,3],2] = 1 
print(a)

0行目、1行目、3行目の2列目(下付きは0から)に1の出力結果を割り当てます.
[[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]]

(二)
import numpy as np
a = np.zeros((4,10))
a[1,[2,3,4,5,6,7,8]] = 100 
print(a)

1行目の2~8列目に100を割り当てた出力結果を指します.
[[  0.   0.   0.   0.   0.   0.   0.   0.   0.   0.]
 [  0.   0. 100. 100. 100. 100. 100. 100. 100.   0.]
 [  0.   0.   0.   0.   0.   0.   0.   0.   0.   0.]
 [  0.   0.   0.   0.   0.   0.   0.   0.   0.   0.]]

(三)
リストのスライスを使用することもできます.
import numpy as np
a = np.zeros((4,10))
a[1:3,2:8] = 20
print(a)

注意、角↑かっこをつけないでください.
出力結果:
[[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]
 [ 0.  0. 20. 20. 20. 20. 20. 20.  0.  0.]
 [ 0.  0. 20. 20. 20. 20. 20. 20.  0.  0.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.]]