質問: numpy.array([3,4]) 1次元配列 A.shape >>>(3,2) B.shape >>>(1,2) C.shape >>>(2,) ### 発生している問題・エラーメッセージ Aは3行2列、Bは1行2列まではわかるのですが、 何故Cが2行なのかがわかりません。 調べると、1次元配列は数を横に並べたもの。とあったので (1,) 1行となると思っていました。 よろしくお願いします。
回答: これに関してはndim, shape, axisなどの概念を理解する必要があります。それなりにまとまった記事を貼っておきますから、ご参照ください。 NumPyの軸(axis)と次元数(ndim)とは何を意味するのか - DeepAge その他雑多なこと。 * 質問文のCは「2行」とは言いません。要素数が2つある1次元配列と普通は言います * shapeの数字は別に行や列に対応している訳ではありません。2次元のとき、便宜的にaxisが0の方を行、1の方を列と呼ぶことがあるだけです。 * 1次元配列、2次元配列というときの「次元」はベクトルの次元とは関係ありません。むしろテンソルだと思っていただいた方が良いかもしれませんが、あくまでもデータ構造ですからそこまで高尚ではありません。ぶっちゃけていえば、添字の数です。