(N,1) と (N,) の形状を持つ numpy 配列 (X としましょう) の違いは何ですか。両方とも Nx1 行列ではありませんか? 私が尋ねる理由は、計算がどちらか一方を返すことがあるからです。
15115 次
1 に答える
15
これは 1D 配列です。
>>> np.array([1, 2, 3]).shape
(3,)
この配列は 2D ですが、最初の次元には 1 つの要素しかありません。
>>> np.array([[1, 2, 3]]).shape
(1, 3)
転置すると、求めている形状が得られます。
>>> np.array([[1, 2, 3]]).T.shape
(3, 1)
次に、配列を見てください。この 2D 配列の最初の列のみが埋められます。
>>> np.array([[1, 2, 3]]).T
array([[1],
[2],
[3]])
次の 2 つの配列があるとします。
>>> a = np.array([[1, 2, 3]])
>>> b = np.array([[1, 2, 3]]).T
>>> a
array([[1, 2, 3]])
>>> b
array([[1],
[2],
[3]])
ブロードキャストを利用できます。
>>> a * b
array([[1, 2, 3],
[2, 4, 6],
[3, 6, 9]])
欠けている数字が埋められます。表またはスプレッドシートの行と列を考えてみてください。
>>> a + b
array([[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
より高い次元でこれを行うと、想像力が難しくなります。
于 2013-06-08T02:24:33.673 に答える