122 votes

Multiplier à travers dans un tableau numpy

J'essaie de multiplier chacun des termes d'un tableau 2D par les termes correspondants d'un tableau 1D. C'est très facile si je veux multiplier chaque colonne par le tableau 1D, comme le montre l'exemple ci-dessous. numpy.multiply fonction. Mais je veux faire l'inverse, multiplier chaque terme de la ligne. En d'autres termes, je veux multiplier :

[1,2,3]   [0]
[4,5,6] * [1]
[7,8,9]   [2]

et obtenir

[0,0,0]
[4,5,6]
[14,16,18]

mais à la place, j'obtiens

[0,2,6]
[0,5,12]
[0,8,18]

Quelqu'un sait-il s'il existe un moyen élégant de faire cela avec numpy ? Merci beaucoup, Alex

-4voto

Panos Points 15

Pourquoi ne pas simplement faire

>>> m = np.array([[1,2,3],[4,5,6],[7,8,9]])
>>> c = np.array([0,1,2])
>>> (m.T * c).T

? ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X