1.numpy配列の構造と作成

1.5.配列の属性

与えられた配列Xの次元、各次元のサイズ、合計サイズを取得できます。
  • 次元     :X.ndim
  • 各次元のサイズ:X.shpae
  • 合計サイズ  :X.size
>>> X
array([[ 1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10],
       [11, 12, 13, 14, 15]])

>>> X.ndim		#次元
2

>>> X.shape		#各次元のサイズ
(3, 5)

>>> X.size		#合計サイズ
15


1.6.配列のコピー

Numpy配列は、別の変数に引き当てる際、参照渡しになるため、思わぬ形で数値が書き換わることああります。
その場合は、Numpy配列をコピーすることで解決します。
x.copy()
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#↓参照渡し
>>> s=x
>>> s
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#xの1番目の要素を書き換えるとsも同様に書き換わる
>>> x[0]=10
>>> x
array([10,  1,  2,  3,  4,  5,  6,  7,  8,  9])
>>> s
array([10,  1,  2,  3,  4,  5,  6,  7,  8,  9])

xのコピーをuに引き当てると、書き換わりはなくなります。
>>> x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#↓値渡し
>>> u=x.copy()
>>> u
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#xの1番目の要素を書き換えてもtの要素は変わらない
>>> x[0]=10
>>> x
array([10,  1,  2,  3,  4,  5,  6,  7,  8,  9])
>>> u
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])


参考文献