PythonとNumPyを用いて、2次元配列の要素にアクセス・代入する方法を解説します。Pythonでは、2次元の配列(リスト)もスライスでき、基本的な形は[リスト_start:リスト_stop]
です。
例えば、以下のような2次元配列があるとします。
import numpy as np
arr2d = np.array([[5, 10, 15], [20, 25, 30], [35, 40, 45]])
この配列から、右上の [10, 15]
と [25, 30]
を取り出したいと思います。方法は色々あると思いますが、 arr2d[:2, 1:]
で取り出せます。
まずは行を指定します。arr2d[:2]
で取り出せる部分はどこでしょうか。これは、arr2d
の行を、インデックス2の1つ前まで取り出す、ということになります。つまり [[5, 10, 15], [20, 25, 30]]
が取り出されます。
次に列を指定します。完成形は arr2d[:2, 1:]
なのですが、ここで注目するところは [1:]
のところ。終了インデックスを省略すると、インデックス1から最後までを取り出すことができます。ここでは列を指定しているので、取り出されるのは [[10, 15], [25, 30]]
となります。
以上がPythonとNumPyを用いた2次元配列のスライスの基本的な方法です。このようにスライスを使うことで、配列から必要な部分だけを効率的に取り出すことができます。スライスは、開始インデックスを省略すると、先頭のから終了インデックスの前のまでが抽出される。一方、終了インデックスを省略すると、開始インデックスから最後までが抽出される、ということを忘れずに。.