JoshAdel의 솔루션은 np.newaxis를 사용하여 차원을 추가합니다. 또 다른 방법은 reshape () 를 사용 하여 방송을 준비 할 때 차원을 정렬하는 것 입니다.
data = np.array([[1,1,1],[2,2,2],[3,3,3]])
vector = np.array([1,2,3])
data
# array([[1, 1, 1],
# [2, 2, 2],
# [3, 3, 3]])
vector
# array([1, 2, 3])
data.shape
# (3, 3)
vector.shape
# (3,)
data / vector.reshape((3,1))
# array([[1, 1, 1],
# [1, 1, 1],
# [1, 1, 1]])
reshape ()를 수행하면 방송을 위해 치수를 정렬 할 수 있습니다.
data: 3 x 3
vector: 3
vector reshaped: 3 x 1
참고 data/vector
확인하지만, 그것은 당신에게 당신이 원하는 대답을하지 않습니다. 각 분할 칼럼 의 array
(대신에 각 행을 각각의 대응 요소에 의해) vector
. 대신 명시 적으로 모양 vector
을 변경 하면 얻을 수 있는 1x3
것입니다 3x1
.
data / vector
# array([[1, 0, 0],
# [2, 1, 0],
# [3, 1, 1]])
data / vector.reshape((1,3))
# array([[1, 0, 0],
# [2, 1, 0],
# [3, 1, 1]])