1
セットアップ
import numpy as np
A = np.array([[1, 2], [2, 3]])
B = np.array([[1, 1], [2, 2], [4, 3]])
A
array([[1, 2],
[2, 3]])
B
array([[1, 1],
[2, 2],
[4, 3]])
IはB
の各行にA
の最初の行の差を取る必要があります。私が行う場合:私はちょうどB.放送numpyの差
の各行非ベクトル化のアプローチのためにこれを必要と
A - B[0]
array([[0, 1],
[1, 2]])
は次のとおりです。
np.array([A - B[i] for i in range(B.shape[0])])
array([[[ 0, 1],
[ 1, 2]],
[[-1, 0],
[ 0, 1]],
[[-3, -1],
[-2, 0]]])
質問
にベクトル化されたアプローチとは何ですか同じ3次元配列を取得しますか?私はパンダを使うと大丈夫です。
配列の次元が拡張されているか、それはこの例であることは注目に値するかもしれ把握しやすくするために、 '' B [:、np.newaxis] '' B [:、np.newaxis、:] ''と同等である – Tonechas