筋肉で解決しないために。

日々出会うモノに対する考察をしたり、主に以下のテーマに関して書いています。 データサイエンス/人工知能/AI/機械学習/DeepLearning/Python//数学/統計学/統計処理

numpy入門3_「arrayを添え字で参照する」

こんにちは、ワタルです。

さっと見て、「あぁそうだったそうだった」と確認できるハンドブックのような存在を目指して。

第3回目、「arrayを添え字で参照する」です。

よろしくお願い致します。

おまじない

import numpy as np

添え字を使ったアクセス(1次元配列)

1点だけ指定

arr = np.arange(0,11)#arrayを作る
arr

>>>
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
arr[8]

>>>
8

スライスを用いて、arrayを表示

arr[1:5]

>>>
array([1, 2, 3, 4])

スライスを用いて、arrayに代入

arr[0:5]=100
arr

>>>
array([100, 100, 100, 100, 100,   5,   6,   7,   8,   9,  10])

スライスを用いてすべての要素を指定

arr = np.arange(0,11)#arrayを作る
arr = np.arange(0,11)
arr

>>>
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
slice_of_arr = arr[0:6]
slice_of_arr

>>>
array([0, 1, 2, 3, 4, 5])
slice_of_arr[:]=99
slice_of_arr

>>>
array([99, 99, 99, 99, 99, 99])
arr#最初のarrayを確認すると。

>>>
array([99, 99, 99, 99, 99, 99,  6,  7,  8,  9, 10])

添え字を使ったアクセス(2次元配列)

arr_2d = np.array(([5,10,15],[20,25,30],[35,40,45])) #arrayを作る。
arr_2d

>>>
array([[ 5, 10, 15],
       [20, 25, 30],
       [35, 40, 45]])

行の指定

arr_2d[1]

>>>
array([20, 25, 30])

行と列の指定

arr_2d[1][0] #arr[行][列] or arr[行,列]で、特定の要素を指定できる

>>>
20
arr_2d[1,0] #arr[行][列] or arr[行,列]で、特定の要素を指定できる

>>>
20

2次元arrayのスライス

arr_2d

>>>
array([[ 5, 10, 15],
       [20, 25, 30],
       [35, 40, 45]])
arr_2d[:2,1:] #arr[行][列] or arr[行,列]で、特定の要素を指定できる
#この場合では右上の2×2を指定

>>>
array([[10, 15],
       [25, 30]])

複数の行を取り出す添え字

arr_3d = np.array(([5,10,15],[20,25,30],[35,40,45],[50,55,60])) #arrayを作る。
arr_3d

>>>
array([[ 5, 10, 15],
       [20, 25, 30],
       [35, 40, 45],
       [50, 55, 60]])
arr_3d[[0,2,3]]

>>>
array([[ 5, 10, 15],
       [35, 40, 45],
       [50, 55, 60]])
arr_3d[[0,2,3],[1,1,0]]#列の指定も可能

>>>
array([10, 40, 50])
arr_3d[[3,0,2]]#順番を変えることも可能

>>>
array([[50, 55, 60],
       [ 5, 10, 15],
       [35, 40, 45]])

第4回はこちら。

watarumon.hatenablog.com

それじゃー、また。