python[:3]抽出配列の数

940 ワード

答えが見つからないので、自分でやってみた.
まず1次元配列を生成
a =np.array([1,2,3,4,5,6,7,8,9])
>>> print a
[1 2 3 4 5 6 7 8 9]

配列の最初の3つの値をとる
b =a[:3]
>>> print b
[1 2 3]

前の3つ以降の値をとる
b =a[3:]
>>> print b
[4 5 6 7 8 9]

配列の後の3つの値をとる
b =a[-3:]
>>> print b
[7 8 9]

配列の3つ前の値をとる
b =a[:-3]
>>> print b
[1 2 3 4 5 6]

だから-号は方向を表して、前から取るか後ろから取るか、数字と合わせて使う:すべての意味を表します.
2 Dの配列についても同様の効果がありますが、取り方を考慮する行や列だけです.
a=np.eye(5)
>>> b=a[:,:3]
>>> print a
[[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]
>>> print b
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]
 [0. 0. 0.]
 [0. 0. 0.]]

行と列をとる
b=a[:3,:3]
>>> print b
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]