主なプロパティー(その1) | 値 |
---|---|
ndim | 次元数 |
shape | 各次元のサイズのタプル |
size | 要素数 |
# リストから2次元配列作成
import numpy as np
data2 = np.array([[1, 2, 3], [4, 5, 6]])
data2
array([[1, 2, 3],
[4, 5, 6]])
# 次元数(次元の軸の数、ベクトル→1、行列→2)
data2.ndim
2
# 各次元のサイズのタプル(2次元なら、行数と列数)
data2.shape
(2, 3)
# 要素数
data2.size
6
# shapeは、reshape で変更できます
# 要素数が同じでないといけません
# 2×3の2次元配列から1次元の新しい配列を作成(data2はそのまま)
data2_reshape_6 = data2.reshape(6)
data2_reshape_6
array([1, 2, 3, 4, 5, 6])
# 2×3から3×2の新しい配列を作成(data2はそのまま)
data2_reshape_32 = data2.reshape((3, 2))
data2_reshape_32
array([[1, 2],
[3, 4],
[5, 6]])
主なプロパティー(その2) | 値 |
---|---|
T | 転置 |
itemsize | 1要素のサイズ(バイト) |
nbytes | 多次元配列全体のサイズ(バイト) |
# リストから2次元配列作成
import numpy as np
data2 = np.array([[1, 2, 3], [4, 5, 6]])
data2
array([[1, 2, 3],
[4, 5, 6]])
# 転置(行と列を入れ替えた多次元配列)
data2.T
array([[1, 4],
[2, 5],
[3, 6]])
# リストから3次元配列作成
data3 = np.array([[[1, 2, 3], [4, 5, 6]], [[11, 12, 13], [14, 15, 16]]])
data3
array([[[ 1, 2, 3], [ 4, 5, 6]], [[11, 12, 13], [14, 15, 16]]])
# 3次元配列の転置
# 0軸と2軸を入れ替え
data3.T
array([[[ 1, 11], [ 4, 14]], [[ 2, 12], [ 5, 15]], [[ 3, 13], [ 6, 16]]])
# 各次元のサイズのタプル
data3.shape
(2, 2, 3)
# 各次元のサイズのタプル
data3.T.shape
(3, 2, 2)
# 1要素のサイズ(バイト)
data2.itemsize
8
# 配列全体のサイズ(バイト)
data2.nbytes
48
# data2.nbytes と data2.itemsize * data2.size は等しい
data2.itemsize * data2.size
48
n次元配列をn次元空間に配置したときに、各次元の数値が変わる方向がその次元の軸(axis)になります。
各軸は、順番に0軸、1軸、2軸、…と呼びます。
numpy.ndarray.Tは、多次元配列の転置になります。
Tプロパティーもよく使われます。
2次元の場合は、行(0軸)と列(1軸)を入れ替えます。
3次元の場合は、0軸と2軸を入れ替えます。
コメント