PythonのNumPyライブラリは、数値計算を効率的に行うための多次元配列オブジェクトndarray
を提供しています。ndarray
は、同じ型とサイズのアイテムの多次元コンテナで、配列の次元数とアイテム数はそのshape
によって定義されます。shape
は、各次元のサイズを指定するN個の非負整数のタプルです。
例えば、次のように2次元配列(2行3列)を作成することができます:
import numpy as np
x = np.array([[1, 2, 3], [4, 5, 6]], np.int32)
print(type(x)) # <class 'numpy.ndarray'>
print(x.shape) # (2, 3)
print(x.dtype) # dtype('int32')
この配列x
は、Pythonのコンテナのようにインデックスを使用してアクセスしたり、変更したりすることができます。また、スライスを使用して配列のビューを作成することも可能です。
# xの*2行目*、*3列目*の要素、つまり6。
print(x[1, 2]) # 6
# スライスを使用して配列のビューを作成
y = x[:,1]
print(y) # array([2, 5], dtype=int32)
# yの要素を変更(これはxの対応する要素も変更する)
y[0] = 9
print(y) # array([9, 5], dtype=int32)
print(x) # array([[1, 9, 3], [4, 5, 6]], dtype=int32)
新しい配列は、配列作成ルーチンの詳細を使用して、または低レベルのndarray
コンストラクタを使用して作成することができます。配列は、拡張されたPythonのスライス構文、array[selection]
を使用してインデックス付けすることができます。
以上の情報を理解することで、PythonとNumPyを使用した多次元配列の操作についての理解が深まることでしょう。