配列のインデックスとは、要素のインデックス(位置)を使って配列内の要素を検索し、情報を素早く取り出すことです。
Pythonで配列のインデックス付けを始めよう
Pythonの配列は、複数の要素から構成される変数です。
配列から特定の要素にアクセスするためには、配列のインデックスという方法を用います。
最初の要素はインデックス0から始まり、インデックス1を持つ2番目の要素が続き、以下同様です。
NumPy は配列処理パッケージで、これから使用します。
まずは、いくつかの例から見ていきましょう。
配列の3番目の要素を取得するためのインデックス付け
>>> import numpy as np
>>> a = np.array([ 10 , 20 , 30 , 40 , 50 ])
>>> print (a[ 2 ])
30 |
上の例では、配列の中に5つの要素があります。
10がインデックス0、20がインデックス1、30がインデックス2、40がインデックス3、50がインデックス4です。
したがって、配列の 3 番目の要素である 30 を取り出すには、そのインデックス 2 を決定します。
配列の5番目の要素を取得するためのインデックス付け
>>> import numpy as np
>>> a = np.array([ 10 , 20 , 30 , 40 , 50 ])
>>> print (a[ 4 ])
50 |
配列のインデックスを利用した算術演算
インデックスを利用して、配列の各要素に対して算術演算を行ってみましょう。
- インデックスを使った配列の2要素の足し算
>>> import numpy as np
>>> a = np.array([ 10 , 20 , 30 , 40 , 50 ])
>>> print (a[ 1 ] + a[ 3 ])
60 |
- インデックスを用いた配列の2要素の減算
>>> import numpy as np
>>> a = np.array([ 10 , 20 , 30 , 40 , 50 ])
>>> print (a[ 4 ] - a[ 0 ])
40 |
- インデックスを用いた配列の2要素の乗算
>>> import numpy as np
>>> a = np.array([ 10 , 20 , 30 , 40 , 50 ])
>>> print (a[ 2 ] * a[ 3 ])
1200 |
- インデックスを使用した配列の 2 要素の除算
>>> import numpy as np
>>> a = np.array([ 10 , 20 , 30 , 40 , 50 ])
>>> print (a[ 2 ] / a[ 3 ])
0.75 |
この記事もチェック:Numpyのブール配列の作成、演算、インデックス等を解説する
Pythonで2次元配列のインデックスを作成する
Pythonの2次元配列はvalue、row、columnsを使ってアクセスすることができます。
2次元配列から特定の要素にアクセスするための一般的な構文は次のとおりです。
Syntax : < value > = < array > [ row , column ] |
ここで、は配列から取り出した要素が格納される変数を意味します。
また、[row, column]はその値の行と列のインデックスを指定します。
2次元配列を構築し、配列のインデックスを使用して1つの要素を取り出す。
>>> import numpy as np
>>> a = np.array([[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]])
>>> print (a)
[[ 1 2 3 ]
[ 4 5 6 ]]
>>> value = a[ 1 , 2 ]
>>> print (value)
6 |
この記事もチェック:Pythonでコロン(:)の意味とは?変数や文字列、配列での使い方を解説する
Pythonで3次元配列のインデックスを作成する
以下は、インデックスを使用して3次元配列の要素にアクセスするための一般的な構文です。
Syntax : array[first dimension, second dimension, third dimension] |
ここで、1番目、2番目、3番目の数字は、それぞれ1D、2D、3Dを表します。
3次元配列を構築し、配列のインデックスを使用して1つの要素を取得します。
>>> import numpy as np
>>> a = np.array([[[ 1 , 2 , 3 ], [ 4 , 5 , 6 ]], [[ 7 , 8 , 9 ], [ 10 , 11 , 12 ]]])
>>> print (a[ 0 , 1 , 2 ])
6 |
Python 配列インデックス (多次元配列)
多次元配列のインデックス付けは、かなり複雑です。
まずは簡単な多次元配列の作成から始めましょう。
多次元配列の作成には reshape() と arange() メソッドを使用します。
- reshape()関数は、配列の新しい形状を指定する引数を1つ取ります。
- arange()メソッドはNumpyで使用されています。開始と終了の引数をとり、1次元の配列を作成します。
>>> import numpy as np
>>> arr = np.arange( 10 ).reshape( 5 , 2 )
>>> print (arr)
[[ 0 1 ]
[ 2 3 ]
[ 4 5 ]
[ 6 7 ]
[ 8 9 ]]
|
>>> import numpy as np
>>> arr = np.arange( 12 ).reshape( 2 , 2 , 3 )
>>> print (arr[ 0 : 3 ])
[[[ 0 1 2 ]
[ 3 4 5 ]]
[[ 6 7 8 ]
[ 9 10 11 ]]]
>>> print (arr[ 1 : 5 : 2 ,:: 3 ])
[[[ 6 7 8 ]
|
まとめ
以上、プログラミング言語Pythonにおける配列のインデックス付けについて簡単に説明しました。
この記事がお役に立てれば幸いです。
Pythonの配列のスライスについてはこちらで詳しく解説しています。
をご覧ください。
この記事もチェック:PythonのNumPyでの配列の作成やスライス、変更について解説する