>>> a = np.arange(9)
>>> a.shape = (3,3)
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> b = np.array([1,2,3,4])
>>> b
array([1, 2, 3, 4])
>>> c = np.empty((4,3,3))
>>> for i in range(len(c)):
... c[i] = a*b[i]
...
>>> c
array([[[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.]],
[[ 0., 2., 4.],
[ 6., 8., 10.],
[12., 14., 16.]],
[[ 0., 3., 6.],
[ 9., 12., 15.],
[18., 21., 24.]],
[[ 0., 4., 8.],
[12., 16., 20.],
[24., 28., 32.]]])
>>> np.mean(c,axis=0)
array([[ 0. , 2.5, 5. ],
[ 7.5, 10. , 12.5],
[15. , 17.5, 20. ]])
У меня есть матрица a и скалярный вектор b. Я хочу получить среднее значение матрицы, умноженное на скалярный вектор. Теперь я должен построить переменную как промежуточную переменную. Есть ли лучший способ сделать это?